【PostgreSQL】pg_dumpを使用してアーカイブ形式でバックアップ後、別名データベースでリストアする
PostgreSQLを使用して開発を行っていると、現在使用しているデータベースのバックアップを取得して別名でリストアするというケースがありますよね。
今回はその手順について書いていきます。
PostgreSQLはインストール済で既にデータベースが作成されていることを前提としています。
目次
pg_dumpでアーカイブ形式でバックアップ後、別名データベースでリストア
今回使用した環境
インターネット接続可能のオンラインの環境
64 ビット オペレーティング システム
Windows 10 22H2
PostgreSQL 14.4
データベース初期状態
初期状態は以下のイメージです。今回は「sampledb」をバックアップして「sampledb2」という別名データベースでリストアするところまでを実施します。
pg_dumpでデータベースをバックアップ
以下のコマンドを実行します。
pg_dump -U postgres --format=c -f D:\backup\sampledb.dump sampledb
アーカイブ形式でデータベース「sampledb」を「D:\backup\sampledb.dump」にバックアップを取得するというコマンドです。
復元先のデータベースを作成しておく
次に「sampledb2」という復元先となる別名データベースを作成しておきます。
createdb -U postgres sampledb2
pg_restoreでデータベースをリストア
以下のコマンドを実行します。
pg_restore -U postgres -d sampledb2 D:\backup\sampledb.dump
バックアップを取得したデータベース「D:\backup\sampledb.dump」を別名データベース「sampledb2」にリストアします。
リストア後確認
データベース「sampledb2」がリストアされていることが確認できました。
以上となります。
ここまでお読みいただきありがとうございました。