psqlでパスワードを聞かれない方法

こんにちは、さるまりんです。

psqlでデータベースにつなぐときこんな感じにパスワードを聞かれます。

psql -h xxx.xxx.xxx.xxx -U dbuser -d mydb
Password for user dbuser:

.pgpassという設定ファイルを作成し、そこに登録しておくことで、入力を省略することができます。

このファイルはホームディレクトリに設置します。

~/.pgpass

パーミッションに注意です。

chmod 600 ~/.pgpass

中身はこんな感じです。

xxx.xxx.xxx.xxx:5432:mydb:dbuser:mydb:P@ssw0rD

フォーマットは以下の通りで、コロン(:)区切りでホスト名(もしくはIPアドレス)、ポート番号、データベース名、ユーザー名、パスワードを列挙します。

ホスト名:ポート番号:データベース名:ユーザー名:パスワード

PGPASSWORDという環境変数に設定することもできるようなのですが非推奨とのこと。

crontabpsqlをそのまま呼び出す1行を書きたくて、パスワードをそこに書きたくないなと思っていたところ、この方法で省略できました。

読んでくださってありがとうございます。

ではまた!