pg資料庫配置無需互動式輸入密碼連線服務端
阿新 • • 發佈:2019-02-07
最近在做一個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