Backup
備份postgres數據庫密碼問題
我有一個要定期備份的 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
密碼來執行我的腳本嗎?
所以我為了讓這個腳本從系統使用者執行而發現了什麼。
- 如果不設置密碼,我無法執行它
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 主目錄)而不是使用者系統主目錄中。
希望這有幫助!