PostgreSQLのバックアップを取ってみる
pg_dumpで実行する場合パスワードなしだと下記のエラーが出る
たぶんpg_hba.confでローカルならパスワードなしOKって設定ができると思いますが…
pg_dump: [archiver(db)] connection to database “hogehoge” failed: fe_sendauth: no password supplied
オプション -w でもスルーできない場合に困る。
cronで実行したいときとかにね。
そのときは「.pgpass」ファイルで回避可能ですよ。
上記ファイル名でファイルを作成し、パーミッションを600にします。
そうしないとエラーで怒られます。
.pgpassの中身は下記
1 |
ホスト名:ポート:DB名:ユーザ名:パスワード |
パスワード以外はワイルドカード(*)のしてもありです。
ファイル作成後に下記のように実行するとOK
1 |
$ pg_dump -w -c DB名 > バックアップ.sql |