PG_Dump返回“太多的命令行参数(第一个是“数据库名称”)”

时间:2018-08-21 11:13:17

标签: postgresql pg-dump

我正在尝试从生产数据库中检索架构,并且正在使用以下脚本:

#!/bin/sh

ssh -f -o ExitOnForwardFailure=yes -L xxxx:domain.com:xxx servername sleep 10

echo 'password'

pg_dump --port xxxx --username johndoe --host localhost -W password --file schemadump.sql --schema-only --no-privileges --no-owner databasename

但是它返回错误

  pg_dump: too many command-line arguments (first is "databasename"). I've tried a few variations but still getting the same error. Any suggestions are welcome.

1 个答案:

答案 0 :(得分:0)

发生这种情况是由于-W标志所致:

  

在连接数据库之前,强制pg_dump提示输入密码。

它会跳过命令并要求输入密码。

如果要使用授权为pg_dump编写单行脚本,请按以下方式使用临时变量而不是标志:

  

PGPASSWORD =“ password” pg_dump --port xxxx --username johndoe --host localhost --file schemadump.sql-仅schema --no-privileges --no-owner数据库名