【PostgreSQL】pg_dumpやpg_restoreでパスワードの入力を省く方法
PostgreSQLのデータのバックアップを取ったり、dumpデータをPostgreSQLへ追加して復元する等行う際に、
コマンドプロンプトを利用してでpg_dumpやpg_restoreを実行したい時があると思います。
その際、PostgreSQLに接続しなければなりません。
パスワードを入力しろと表示され、入力が誤ってエラーになる場合もあれば、入力指示がなく、接続できずにエラーになってしまう場合もあります。
解決策としては明示的に入力すること、これに尽きます。
そうすると、そもそも入力指示がされずにパスワードが入力できないままエラーになることもなく、入力指示されてもパスワード間違えたまま気付かず接続しようとしてエラーになるというのも回避できますよね。
では下記に具体的な方法を記述します。
パスワードを事前にセットしておく
方法は、簡単です。
PostgreSQLへ接続する際に、「cd」コマンドでPostgreSQLがインストールされた場所へ移動し、「pg_dump」や「pg_restore」コマンドでバックアップや復元したりすると思いますが、その前に1行「set PGPASSWORD=パスワード」を入れるだけです。
これで予め設定しておいたパスワードで自動で接続されます。
コマンドプロンプトを利用してで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」と付いているものは仮の名称なので任意の値を設定してください
これで予め設定しておいたパスワードで自動で接続されます。
コメント
コメントを投稿