gpt4 book ai didi

postgresql - PSQL 没有检测到 .pgpass 文件

转载 作者:行者123 更新时间:2023-11-29 12:17:05 30 4
gpt4 key购买 nike

我试过了

  1. 设置.pgpass的权限为0600
  2. 已确认 .pgpass 在我用户的主目录 (/home/brandon/.pgpass) 中
  3. 在 pg_dumpall 命令中使用 -w
  4. 确认.pgpass中的数据正确

如果我一次又一次地输入密码,用于自动备份的脚本 ( https://wiki.postgresql.org/wiki/Automated_Backup_on_Linux ) 就会工作,这就是为什么我在所有命令中添加 -w 的原因。它出于某种原因不读取 .pgpass 文件。

有多个错误消息,但通常是这样。

 pg_dumpall: could not connect to database "template1": FATAL:  password    authentication failed for user "postgres"

致命:用户“postgres”的密码验证失败

pg_pass 文件:

localhost:5432:my_db:postgres:password

命令行:

username@droplet:~/ProjectDir$ bash cronjob/db_backup/pg_backup.sh
Making backup directory in /home/backups/database/postgresql/2017-12-06/


Performing globals backup
--------------------------------------------

Globals backup
cronjob/db_backup/pg_backup.sh: line 80: /home/backups/database/postgresql/2017-12-06/globals.sql.gz.in_progress: Permission denied
pg_dumpall: could not connect to database "template1": fe_sendauth: no password supplied

[!!ERROR!!] Failed to produce globals backup


Performing schema-only backups
--------------------------------------------

psql: fe_sendauth: no password supplied
The following databases were matched for schema-only backup:




Performing full backups
--------------------------------------------

psql: fe_sendauth: no password supplied

All database backups complete!

最佳答案

您应该提供对 pg_dumppg_dumpall 的实际调用以获得更详细的答案。

但是,从您的输出中我看到 pg_dumpall (?) 尝试连接到数据库 template1,但是在您的 .pgpass 文件中只有数据库是 my_db

您必须为您尝试连接的所有数据库添加条目到 .pgpass

localhost:5432:mydb1:postgres:password
localhost:5432:mydb2:postgres:password
localhost:5432:mydb3:postgres:password

或者,您也可以将 * 作为不同数据库名称的占位符。

localhost:5432:*:postgres:password

确保 .pgpass 中的所有字段都是正确/匹配的。如果它们中的任何一个(主机、端口等)不匹配,则不清楚、信息不足且可能是错误的 fe_sendauth: no password supplied 错误消息将是相同的。

关于postgresql - PSQL 没有检测到 .pgpass 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47649648/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com