goodbyegangsterのブログ

備忘録的な

psqlで、パスワード入力を省略して、Redshiftに接続する

postgresqlと同じ方法で対応可能です。

方法1 環境変数を利用する

PGPASSWORD という環境変数にパスワードを、事前に設定することで対応できます。ただし、この方法は推奨されていません。

この環境変数の使用は、セキュリティ上の理由から現在では推奨されていません。 (オペレーティングシステムの中には、root以外のユーザがpsを使用してプロセスの環境変数を見ることができるものもあります。) 代わりに~/.pgpassを使用することを検討してください。

公式。

https://www.postgresql.jp/document/8.0/html/libpq-envars.html

方法2 OSのプロファイル情報を利用する方法

上で代わりに利用するよう推奨されている方法です。

利用したいOSユーザのホームディレクトリに、 .pgpass というファイルを作成し、以下の通り接続情報を記載します。

$ cat /root/.pgpass
test-cluster.XXXXXXXXXX.ap-northeast-1.redshift.amazonaws.com:5439:test(db名):root(接続ユーザ名):Passw0rd(パスワード)

作成した .pgpass ファイルの権限を 600 に変更します。

$ chmod 600 /root/.pgpass

公式。

https://www.postgresql.jp/document/8.0/html/libpq-pgpass.html