簡體   English   中英

在環境中不設置密碼的情況下恢復一個PostgreSQL數據庫

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM