You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

调用pg_recvlogical时如何使用完整连接字符串?

pg_recvlogical 使用完整连接字符串绕过密码提示的问题

问题描述

我正在构建使用pg_recvlogical的自动化程序,却无法弄清如何使用完整连接字符串绕过密码提示。尝试了以下写法:

pg_recvlogical postgresql://root:<redacted>@graph-node-db.cluster-cpyibfvmddkk.us-west-2.rds.amazonaws.com/goldsky --slot migration_goldsky --start -f file.sql

但持续收到错误:

pg_recvlogical: error: too many command-line arguments (first is "postgresql://root:<redacted>@graph-node-db.cluster-cpyibfvmddkk.us-west-2.rds.amazonaws.com/goldsky")
Try "pg_recvlogical --help" for more information.

想知道是否可以像psql一样,使用完整连接字符串调用pg_recvlogical?

解决方案

可以使用完整连接字符串,但必须加上-d(或--dbname)参数来指定连接字符串——pg_recvlogical不像psql那样支持直接把连接字符串作为位置参数传递。

正确的命令写法:

pg_recvlogical -d postgresql://root:<redacted>@graph-node-db.cluster-cpyibfvmddkk.us-west-2.rds.amazonaws.com/goldsky --slot migration_goldsky --start -f file.sql

原因在于pg_recvlogical的命令行参数规则:连接相关的参数需要通过选项明确指定,而非直接作为位置参数传入。如果省略-d,程序会把连接字符串判定为多余的位置参数,从而抛出错误。

如果不想在连接字符串中明文写密码,还可以通过环境变量PGPASSWORD传递密码,更适合自动化脚本场景:

PGPASSWORD=<redacted> pg_recvlogical -d postgresql://root@graph-node-db.cluster-cpyibfvmddkk.us-west-2.rds.amazonaws.com/goldsky --slot migration_goldsky --start -f file.sql

内容的提问来源于stack exchange,提问作者Paymahn Moghadasian

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 15:27:52