pg_dumpall missing =在连接字符串中

时间:2017-08-28 16:23:10

标签: postgresql

我试图在AWS RDS实例(postgres)上运行pg_dumpall。 我尝试使用psql连接到db:

psql -d $DBNAME -h $HOST -p $PORT -U $USERNAME

我当然提示输入密码,一切正常 - 我能够连接。

然后我尝试了:

pg_dumpall.exe -d $DBNAME -h $HOST -p $PORT -U $USERNAME -f testme.sql

我收到以下错误:

pg_dumpall: missing "=" after "billingdb" in connection info string

我使用git bash作为我的终端,我在Windows 10上,我的psql版本是9.6.4 连接本身是通过端口转发完成的,所以我的主机是localhost和port_forwarding操作提供的一些端口,如果这很重要的话。 根据文件,我做的一切都是正确的,所以我没有想法。

1 个答案:

答案 0 :(得分:3)

选项-d表示psqlpg_dumpall中的其他内容。 pg_dumpall文档说:

  

-d connstr
  --dbname=connstr

     

指定用于连接服务器的参数,作为连接字符串。有关更多信息,请参见第32.1.1节。

     

该选项被称为--dbname以与其他客户端应用程序保持一致,但由于pg_dumpall需要连接到许多数据库,因此将忽略连接字符串中的数据库名称。使用-l选项指定用于转储全局对象的数据库的名称,并发现应转储哪些其他数据库。

我的建议是省略该选项,然后按原样使用数据库postgres