我试图在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操作提供的一些端口,如果这很重要的话。 根据文件,我做的一切都是正确的,所以我没有想法。
答案 0 :(得分:3)
选项-d
表示psql
和pg_dumpall
中的其他内容。 pg_dumpall
文档说:
-d connstr
--dbname=connstr
指定用于连接服务器的参数,作为连接字符串。有关更多信息,请参见第32.1.1节。
该选项被称为
--dbname
以与其他客户端应用程序保持一致,但由于pg_dumpall
需要连接到许多数据库,因此将忽略连接字符串中的数据库名称。使用-l
选项指定用于转储全局对象的数据库的名称,并发现应转储哪些其他数据库。
我的建议是省略该选项,然后按原样使用数据库postgres
。