Postgresql 9.2执行pg_dump命令问题

时间:2014-10-10 08:55:16

标签: postgresql post

我需要备份命令postgres数据库。

我可以成功执行命令但是命令要输入执行密码那么我该怎么办才能避免输入密码。

以下是命令:

pg_dump -i -h localhost -p 5432 -U postgres -F c -b -v C:\PostgreSQL\PostgreSQL\bin\Data.backup" DB_NAME

请建议我该怎么办?

提前致谢。

2 个答案:

答案 0 :(得分:0)

您必须更改pg_hba.conf中的PostgreSQL Server,如果您使用pgAdmin,请转到工具>服务器配置 - > ph_hba.conf

并将ticked类型的方法更改为trust

enter image description here

然后重新启动PostgreSQL server


我强烈建议您使用MD5

引自pg_dump

  

-w   --no-password永远不会发出密码提示。如果服务器需要密码验证,并且其他方式无法使用密码   例如.pgpass文件,连接尝试将失败。这个选项   在没有用户的批处理作业和脚本中非常有用   输入密码。

     

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

     

此选项绝不必要,因为pg_dump会自动执行   如果服务器要求密码验证,则提示输入密码。   但是,pg_dump会浪费连接尝试,发现该问题   服务器想要一个密码。在某些情况下,值得输入-W以避免   额外的连接尝试。

答案 1 :(得分:0)

比盲目地允许整个世界访问您的数据库更好的是设置pgpass file

这是一个简单的文本文件,您应确保只能由您的用户帐户读取。然后,只需填写host / port / db / user / password详细信息,psql和pg_dump等将自动使用它而不是提示你。

注意 - 如果其他人可以阅读此文件,则他们可以看到您的密码。所以要确保他们不能。