【PostgreSQL】pg_dumpやpg_restoreでパスワードの入力を省く方法

PostgreSQLのデータのバックアップを取ったり、dumpデータをPostgreSQLへ追加して復元する等行う際に、
コマンドプロンプトを利用してでpg_dumpやpg_restoreを実行したい時があると思います。

その際、PostgreSQLに接続しなければなりません。
パスワードを入力しろと表示され、入力が誤ってエラーになる場合もあれば、入力指示がなく、接続できずにエラーになってしまう場合もあります。

解決策としては明示的に入力すること、これに尽きます。
そうすると、そもそも入力指示がされずにパスワードが入力できないままエラーになることもなく、入力指示されてもパスワード間違えたまま気付かず接続しようとしてエラーになるというのも回避できますよね。

では下記に具体的な方法を記述します。


パスワードを事前にセットしておく

方法は、簡単です。
PostgreSQLへ接続する際に、「cd」コマンドでPostgreSQLがインストールされた場所へ移動し、「pg_dump」や「pg_restore」コマンドでバックアップや復元したりすると思いますが、その前に1行「set PGPASSWORD=パスワード」を入れるだけです。

set PGPASSWORD=sample_password

cd /d C:\Program Files\PostgreSQL\10\bin
pg_dump -U sample_user -t sample_table -Fc -c -v -f C:sample\sample.dump sample_db 2> D:sample\sample_dump.log
※「sample」と付いているものは仮の名称なので任意の値を設定してください

これで予め設定しておいたパスワードで自動で接続されます。

コメント

このブログの人気の投稿

【知識】USBの差し込み口の黒色(白色)と青色の違い

【知識】キロバイトは大文字(KB)?小文字(kB)?1,024Byte?1,000Byte?

【知識】bit(ビット)やByte(バイト)の計算方法