如何调用psql以使它不提示输入密码?

这是我所拥有的:

psql -Umyuser < myscript.sql

但是,我找不到传递密码的参数,所以psql总是提示输入这个参数。


当前回答

如果你像我一样在windows上遇到问题(我使用的是windows 7 64位),设置PGPASSWORD=[Password]不工作。

然后,正如Kavaklioglu在其中一条评论中所说,

export PGPASSWORD=[password]

您需要将其保存在文件的顶部,或者在任何使用之前,以便在调用之前设置它。

当然可以在windows上工作:)

其他回答

在命令中使用-w: psql -h localhost -p 5432 -U user -w

你必须创建一个密码文件:更多信息请参见http://www.postgresql.org/docs/9.0/interactive/libpq-pgpass.html。

你可以在脚本的开头添加这个命令行:

export PGPASSWORD="[your password]"
PGPASSWORD=[your password] psql -Umyuser < myscript.sql

只需使用PGPASSWORD即可完成。我使用的是psql 9.5.10。对你来说,解决办法是

PGPASSWORD= psql -U myuser密码< myscript.sql密码