Backup

備份postgres數據庫密碼問題

  • November 5, 2015

我有一個要定期備份的 postgres 數據庫。為此,我想在這裡使用自動備份腳本

通常我要進行管理任務,我使用這些命令:

> sudo -i -u postgres
> psql

不需要密碼,我可以手動轉儲我的數據庫。這還不錯。

使用自動化腳本我遇到了密碼問題。它要求我輸入postgres密碼。我從來沒有設置它,我認為我不應該像上面給出的範例那樣設置它。

這是我的pg_hba.conf.

# Database administrative login by Unix domain socket
local   all             postgres                                peer
TYPE  DATABASE        USER            ADDRESS                 METHOD

"local" is for Unix domain socket connections only
local   all             all                                     peer
# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
# IPv6 local connections:
host    all             all             ::1/128                 md5

我真的需要設置postgres密碼來執行我的腳本嗎?

所以我為了讓這個腳本從系統使用者執行而發現了什麼。

  1. 如果不設置密碼,我無法執行它postgres

$ sudo -i -u postgres

$ psql

$ ALTER USER postgres WITH PASSWORD ’new_password’; 2. .pgpass然後在執行腳本的使用者系統主目錄中創建一個文件!

$ echo ‘::*:postgres:new_password’ > ~/.pgpass

$ chmod 0600 ~/.pgpass 3. 就是這樣。

我的錯誤是:

  • 認為我可以在不設置 postgres 密碼的情況下處理它。
  • 試圖將 .pgpass 放在 /var/lib/postgresql (postgres 主目錄)而不是使用者系統主目錄中。

希望這有幫助!

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