[英]Restore a PostgreSQL database without setting the password in the environment
我需要在 python 中創建一個腳本,調用pg_restore
來恢復數據庫。 到目前為止,我使用了一個批處理文件,它在PGPASSWORD
中設置了真正的密碼,並在恢復后在 var 中設置了垃圾。
我的問題是我必須使用SET PGPASSWORD='password'
創建一個環境變量,但我無法在環境中公開密碼,因為如果還原中出現錯誤, PGPASSWORD
將擁有真正的密碼。
有沒有辦法像使用 firebird 那樣發送帶有密碼的恢復命令?
使用 Windows XP/7/8 和 PostgreSQL 9.x。
我建議使用.pgpass
文件。
在 Microsoft Windows 上,該文件名為
%APPDATA%\\postgresql\\pgpass.conf
(其中%APPDATA%
指的是用戶配置文件中的應用程序數據子目錄)
您可以設置一個環境變量,但您試圖避免這種情況是正確的。 手冊中不鼓勵這樣做:
PGPASSWORD
行為與密碼連接參數相同。 出於安全原因,不建議使用此環境變量,因為某些操作系統允許非 root 用戶通過 ps 查看進程環境變量; 而是考慮使用~/.pgpass
文件
有關無密碼訪問的更多信息:
使用沒有密碼的 psql 命令運行批處理文件
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.