pg_dump:命令行参数太多

Bha*_*Gor 22 postgresql dump pg-dump database-backups

这个命令出了什么问题:

pg_dump -U postgres -W admin --disable-triggers -a -t employees -f D:\ddd.txt postgres
Run Code Online (Sandbox Code Playgroud)

这给出了太多命令行参数的错误

小智 25

看起来像是-W选项.这个选项没有任何价值.

-W, --password           force password prompt (should happen automatically)
Run Code Online (Sandbox Code Playgroud)

如果要在不键入的情况下运行命令是密码,请使用.pgpass文件. http://www.postgresql.org/docs/9.1/static/libpq-pgpass.html

  • @BhargavGor:省略“-W admin”,而不仅仅是“-W” (2认同)

小智 11

对于后代,请注意pg_dump和pg_restore(以及许多其他命令)无法处理字处理器创建的长连字符.如果要从文字处理器剪切命令行,请确保它在编辑时没有将连字符转换为其他内容.否则,您将获得看起来正确但无可救药地将参数解析器混淆在这些工具中的命令行.


Mus*_*mal 11

pg_dump 和 pg_restore 需要在命令行上询问密码,如果你把它放在命令中,他们总是给出“命令行参数太多”的错误。您可以使用以下命令在命令行或批处理文件中设置相关的环境变量:

"SET PGPASSWORD=<password>"
Run Code Online (Sandbox Code Playgroud)

这样就不会要求您在批处理文件中手动输入密码。他们使用给定的环境变量。


Bar*_*osz 8

不是通过-W标志开始传递密码,而是为 postgres 设置临时变量:

PGPASSWORD="mypass" pg_dump -U postgres--disable-triggers -a -t employees -f D:\ddd.txt postgres
Run Code Online (Sandbox Code Playgroud)


小智 5

-W -> 将提示输入密码以进行完整的数据库转储使用类似的东西

pg_dump -h 192.168.44.200 -p 5432 -U postgres -W -c -C -Fc -f C:\MMM\backup10_3.backup DATABASE_NAME
Run Code Online (Sandbox Code Playgroud)


Fre*_*ing 5

我是通过复制粘贴得到的,其中 1 个破折号是不同的。

\n\n

是:(\xe2\x80\x93-host=第一个破折号是“长”破折号)\n已更正以--host=解决它

\n