【问题标题】:Postgresql 9.2 execute pg_dump command issue [duplicate]Postgresql 9.2执行pg_dump命令问题[重复]
【发布时间】:2014-12-05 09:27:27
【问题描述】:

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

我可以成功执行命令,但是命令要输入密码来执行所以我应该怎么做才能避免输入密码。

下面是命令:

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

请建议我该怎么做?

提前致谢。

【问题讨论】:

    标签: postgresql post


    【解决方案1】:

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

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

    然后重启PostgreSQL server


    我强烈推荐你使用MD5

    引自pg_dump

    -w --no-password 从不发出密码提示。如果服务器需要密码认证,而其他方式无法获得密码 例如 .pgpass 文件,连接尝试将失败。这个选项 在没有用户的批处理作业和脚本中可能很有用 输入密码。

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

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

    【讨论】:

    • -W yourPassword 绝对不正确。 pg_dump 在其参数中不接受密码,-W 在自动无密码连接中没有帮助。
    【解决方案2】:

    设置一个pgpass file,比盲目地让全世界都访问你的数据库要好。

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

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

    【讨论】:

      猜你喜欢
      • 2021-10-13
      • 2016-04-27
      • 1970-01-01
      • 2020-12-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-23
      • 2020-06-21
      相关资源
      最近更新 更多