psqlコマンドのオプションとパスワード入力を省略する

psqlコマンドの設定シリーズ第二弾。

ホスト名とかのデフォルトを設定する

psqlでDBに接続するときはこんなコマンドで接続しますが……

psql -h xxxx.ap-northeast-1.redshift.amazonaws.com -p 5439 -U myuser dev

これオプション多くて面倒じゃないですか。 そこで以下のように環境変数を設定しておけばオプションは全部省略できます。

export PGHOST=xxxx.ap-northeast-1.redshift.amazonaws.com
export PGPORT=5439
export PGDATABASE=dev
export PGUSER=myuser

ユーザー名だけ変えたいみたいなときは、 変えたいものだけ明示的にオプションを指定すればよいです。

パスワード入力を省略する

最後に残るのがパスワード入力ですが、実はこれも省略できます。 ~/.pgpass ファイルに以下のように書いて、chmod 600 しておけば psql コマンドが勝手に読み込みます。

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

mode 600 にしないと psql が読んでくれないので注意。