postgresのpg_restoreでリストアできるファイル
ドキュメント
https://www.postgresql.jp/document/9.1/html/app-pgrestore.html
pg_restoreは、pg_dumpによってアーカイブされた平文形式以外のアーカイブファイルを使って、PostgreSQLデータベースをリストアするためのユーティリティです。
pg_restoreはそのデータベースに接続し、アーカイブを直接そのデータベースにリストアします。 データベース名が指定されなかった場合は、データベースを再構築するために必要となるSQLコマンドが含まれたスクリプトが作成されます(ファイルもしくは標準出力に書き出されます)。 このスクリプトの出力はpg_dumpの平文形式の出力と同じです。 実際に、出力を制御するオプションの中には、pg_dumpのオプションに類似したものがあります。当然ながら、pg_restoreによって、アーカイブファイルに存在しない情報をリストアすることはできません。 例えば、アーカイブが"INSERTコマンドの形式でデータダンプ"を行うオプションを使用して作成されたものであった場合、pg_restoreはCOPY文を使用してデータを読み込むことはできません。
Windows環境のpg_restore.exeでのリストア
- 前提
DBを作成
- 環境変数を設定
set PATH=%PATH%;C:\PostgreSQL\9.3\bin
- 接続
psql -U postgres →プロンプトにつづいてパスワードを入力
CREATE DATABASE test_db1 WITH ENCODING='EUC_JP' OWNER=postgres TEMPLATE=template0 LC_COLLATE='C' LC_CTYPE='C' CONNECTION LIMIT=-1;
* リストア
- 環境変数を設定
set PATH=%PATH%;C:\PostgreSQL\9.3\bin
- リストアを実行
pg_restore.exe --host localhost --port 5432 --username "postgres" --dbname "test_db1" --verbose "C:\temp\postgres\test_db1-compress.backup"