PostgreSQLでパスワードを省略する
業務でAWSのRDS上でPostgreSQLを使用しているのですが、更新作業内だけでパスワードを30回くらい聞かれるので[pgpass]を設置しました。 jenkinsおじさんと連携させればもっと楽ちんになりそう。やったね!たえちゃん
方法
ホームディレクトリに[~/.pgpass]を作成
touch ~/.pgpass
パーミッションを変更する(0600以外だと怒られる)
chmod 600 ~/.pgpass
pgpassの中身の書式は、下記の通り
パスワード以外はアスタリスクで省略できるようです。
ホスト名:ポート番号:データベース名:ユーザ名:パスワード hoge.rds.amazonaws.com:*:*:*:hugahuga
これをRDS操作用の踏み台サーバに置いています。
注意点として、シェルスクリプトでガシガシpsqlを呼び出してDBを更新する処理を作ったのですが、 [sudo psql]などとするとパスワードが省略されるユーザーとは別のユーザーで実行することになり、パスワードを求められるので、少しハマりました。 jenkinsおじさんでまだ試してないですが、おじさんでできるようにする場合、pgpassをおじさん用に作るか、パスワードを求められないグループに加える(まだ試してない)をする必要がありそうです。