Ubuntu

備份 PostgreSQL - 提示輸入密碼

  • October 11, 2016

作業系統:Ubuntu Xenial 16.04 LTS

PostgreSQL 版本:9.5.4

我正在嘗試在我的伺服器上設置自動數據庫備份,每次執行時pg_dump,它都會告訴我沒有提供密碼。這是我用來測試的命令:

pg_dump --host $DB_HOST --port 5432 --username $DB_USER --no-password  --format custom --blobs --verbose --file ~/backups/postgresql/test.backup $DB_NAME

我所有的環境變數都工作得很好。為了向 PostgreSQL 提供密碼,我.pgpass~/.pgpass. 這是它的樣子:

主機名:埠:數據庫:使用者名:密碼 $ DB_HOST:5432: $ 數據庫名稱: $ DB_USER: $ DB_PASS

該文件具有指南0600中指定的權限。然而,由於某種原因,它沒有在我執行時使用密碼。我在網上查看了其他答案和多個指南,但仍然無法弄清楚問題所在。pg_dump

任何幫助將不勝感激。

您需要在 中包含文字值~/.pgpass,而不是像$DB_HOST.

如果您需要環境變數,那麼您可以使用 libpq(PostgreSQL 客戶端庫)支持的環境變數,例如$PGDATABASE$PGPASSWORD. 還有很多其他的。您根本不需要~/.pgpass使用它們。

引用自:https://serverfault.com/questions/808243