@kyanny's blog

My thoughts, my life. Views/opinions are my own.

PostgreSQL: psql でパスワード入力プロンプトをスキップして接続する

環境変数 PGPASSWORD にパスワードを入れておけば良い。

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

$ PGPASSWORD=mybadpassword psql -h localhost -p 5432 -U postgres -d postgres

別の環境変数に DB 接続情報が保存されている場合は、 PGPASSWORD=$DB_PASS psql ... などとする。

# MY_DB_PASSWORD=mybadpassword
# MY_DB_HOST=database-xxxxxxxxxxxxxxxx.us-west-1.rds.amazonaws.com
# MY_DB_PORT=5432
# MY_DB_USER=postgres
# MY_DB_NAME=postgres

$ PGPASSWORD=MY_DB_PASSWORD psql -h $MY_DB_HOST -p $MY_DB_PORT -U $MY_DB_USER -d $MY_DB_NAME

環境変数 PGPASSWORD は非推奨で、パスワードファイル .pgpass を使う方が良いらしい。

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