概要
とあるデータ移行バッチ試験のバグでDBが汚染されDBを試験実施前に戻す作業を行ったので
備忘録としてバックアップからテーブル削除、リストアまで手順を記述してます。
※使用しているDBはPostgreSQL 12.6 (バージョンによってpg_dump等のコマンドが使用できないことがるので注意)
バックアップ
試験実施前には必ずバックアップは取っておきましょう
※ デフォルト(スクリプト形式で出力)
$ pg_dump -h ホスト -p ポート -U ユーザー -d DB名 > 出力先パス/ファイル名
テーブルの全削除
※ 全てのテーブルがpublicスキーマーであること
--スキーマーを全削除
$ drop schema public cascade;
--削除したスキーマーを再作成
$ create schema public;
--所有者を付与
$ alter schema public owner to ユーザー ;
リストア
※ スクリプト形式で出力しているのでpsqlでリストアする
$ psql -h ホスト -p ポート -U ユーザー -d DB名 < 参照先ディレクトリ/ファイル名