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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章