pg_dump的:太多的命令行参数(pg_dump: too many command line a

2019-07-30 21:00发布

什么是错用这个命令:

pg_dump -U postgres -W admin --disable-triggers -a -t employees -f D:\ddd.txt postgres

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

Answer 1:

看起来像它的-W选项。 没有价值去与该选项。

-W, --password           force password prompt (should happen automatically)

如果您要在不打字运行的命令是一个密码,使用.pgpass文件。 http://www.postgresql.org/docs/9.1/static/libpq-pgpass.html



Answer 2:

对于后人,注意的pg_dump和pg_restore的(和许多其它命令)不能处理长的连字符是文字​​处理机创造。 如果你是切割粘贴命令行模式从一个字处理器,肯定还没有转换您的连字符在其他一些编辑。 否则,你会得到看起来正确的,但绝望地混淆在这些工具的参数解析器的命令行。



Answer 3:

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

"SET PGPASSWORD=<password>"

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



Answer 4:

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

是: –-host= (第一破折号IA“长”破折号)校正为--host=解决了它



Answer 5:

-W - >会提示输入密码,以充分DB转储使用一些东西一样

pg_dump -h 192.168.44.200 -p 5432 -U postgres -W -c -C -Fc -f C:\MMM\backup10_3.backup DATABASE_NAME


Answer 6:

相反,通过密码与-W标志开始设置临时变量Postgres的:

PGPASSWORD="mypass" pg_dump -U postgres--disable-triggers -a -t employees -f D:\ddd.txt postgres


Answer 7:

另一种方法是添加~/.pgpass文件,像这样的内容:

hostname:port:database:username:password

阅读更多在这里



文章来源: pg_dump: too many command line arguments