Linux

【Linux】PSQLでパスワードを聞かれない設定

postgresの環境によってはpg_hba.confファイルの認証設定をtrustにできないため、シェルスクリプトでDBに接続するとその度に対話式でパスワードを要求される。

 

その場合は、以下2つの方法で対話式ではなくワンライナーで実行可能となる。

homeフォルダ配下に.pgpassファイルを作成

1.$HOME/.pgpass ファイルを作成する。

2.chmod 600 .pgpass でパーミッションを変更する(しないとエラー)。

3..pgpassファイルに以下の情報を書き込む。

DB_IPアドレス:ポート番号:DB名:ユーザ名:パスワード

環境変数PGPASSWORDにパスワードを設定

シェルスクリプトでPGPASSWORDに設定する。

export PGPASSWORD="パスワード"

 

環境変数に設定する方がファイルを用意しなくていいので管理が楽だが、postgresではセキュリティ上の問題から.pgpassファイルを使用する方法を推奨している。