我正在尝试从生产数据库中检索架构,并且正在使用以下脚本:
#!/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.
答案 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数据库名