LoginSignup
3
3

More than 3 years have passed since last update.

PostgreSQL運用

Last updated at Posted at 2020-01-30

ダンプ&リストア(平文形式)

平文(SQL形式)で取得する。このとき、リストア時のためにテーブル削除やテーブル作成構文を含めるかどうかオプション指定できる。
リストアはpsqlコマンドで行う。

※INSERT文形式とCOPY文形式のどちらかを選択できます。INSERT形式の場合、「改行」を含むデータをこの平文形式で取得すると、リストアするときに改行が反映されなくなることがあったと思います(ちょっとうろ覚えなので違ったらすみません)。そのときは手動でCHR(10)をデータ中に追加して元に戻しましたが。

$ pg_dump testdb > /tmp/testdb.dump

ダンプ&リストア(アーカイブ形式)

ダンプ

アーカイブ形式(圧縮されてます)で取得する。リストア時のためのテーブル削除とかのオプションは不要(リストア時に指定する)。

$ pg_dump -F c testdb > /tmp/testdb.dump

平文とアーカイブの使い分けですが、開発中のように、SQL文を手動で書き換えたりするのなら平文の方がよいです。ただし上記のように改行は要注意だったと思います。運用中など、単純にバックアップ・リストアができればいいなら、アーカイブ形式の方が高速・容量も小さくて良いと思います。

リストア

-cでリストア前にデータを削除する

$ pg_restore -c -d testdb /tmp/testdb.dump

レプリケーション

こちらの方のページが詳しいです
PostgreSQL9.6 レプリケーション設定

※以下、断片的なメモです(そのうち整理します)
recovery.confに、restore_commandを設定することで、たしかレプリケーションが追い付かなくなったときのコマンドを指定できる。SCP時(SSH接続)に鍵指定が必要な場合は「-i 鍵ファイル名」をオプション指定すればよい。

recovery.conf
restore_command = 'scp マスタのホスト名orIPアドレス:/path/to/archive_log/%f %p'
3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3