1. 程式人生 > >pg資料庫配置無需互動式輸入密碼連線服務端

pg資料庫配置無需互動式輸入密碼連線服務端

最近在做一個etl匯入外掛,因為公司有寫部門用了postgres資料庫,這個資料庫從mysql被oralce收購以後號稱最好的開始資料庫。

我們需要通過psql客戶端去連服務端,但是它不像mysql那樣輸入:

mysql -h127.0.0.1-udev -p123456 -P 3306

postgres它不能直接輸入密碼,需要互動式的輸入:

psql -U username -h 127.0.0.1 -p 5432 -t -d database

這個時候你需要手動輸入密碼

但是沒地方可以輸入這個密碼, 所以需要搞一個自動的形式

看了一些postgres資料庫,支援這種,發現有兩種方法(還有別的方法,希望周知一下)

第一種方式:配置一個環境變數PGPASSWORD,這個只需要在執行psql命令之前執行:

export PGPASSWORD=password

第二種方式:配置一個配置檔案.pgpass檔案,格式像下面這樣就行:

127.0.0.1:5432:*:postgres:postgres

這種方式需要你去配置一個檔案,注意這個需要放在使用者主目錄下面下,~/.pgpass,還需要注意這個檔案的許可權,至少當前使用者能讀取到這個檔案吧,這個很容易理解吧,還有就是需要許可權配成0600,命令:sudo chmod 0600 ~/.pgpass