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