【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」がリストアされていることが確認できました。

以上となります。

ここまでお読みいただきありがとうございました。

PostgreSQL

Posted by だゆう