pg_restore

pg_restoreは、pg_dumpによって作成されたカスタム形式またはtar形式のアーカイブファイルからPostgreSQLデータベースをリストアするコマンドである。

pg_restoreの構文

pg_restore [connection-options] [options] [filename]
filename
リストアするアーカイブファイル(ディレクトリ書式アーカイブの場合はディレクトリ)の場所を指定する。

リストアするアーカイブファイルを指定しなかった場合、標準入力からアーカイブを読み取る。

データベース接続オプション

pg_restoreコマンドのconnection-optionsには、次のデータベース接続オプションを指定できる。

-h host
-host=host
PostgreSQLサーバのホスト名を指定する。ホスト名を指定しなかった場合は、環境変数PGHOSTに設定されたホスト名が使われる。
-p port
-port=port
PostgreSQLサーバのポート番号を指定する。
-U username
-username=username
データベース接続ユーザ名を指定する。

pg_restoreのオプション

pg_restoreコマンドのoptionsには、次のオプションを指定できる。

-c
--clean
再作成前にデータベースオブジェクトを整理(削除)する。
-d dbname
--dbname=dbname
指定したベータベースに接続して直接リストアする。
-F format
--fomrat=format
ファイル形式を指定する。
format 説明
c カスタム形式アーカイブを出力する。
この形式で出力した場合、リストアはpg_restoreコマンドを使用する。
custom
t tar形式のアーカイブを出力する。
この形式で出力した場合、リストアはpg_restoreコマンドを使用する。
tar
--if-exists
データベースオブジェクトを初期化するときに条件コマンドを使う。
-n schema
--schema=schema
指定したスキーマ内のオブジェクトのみをリストアする。

関連記事

pg_dump
PostgreSQLデータベースをスクリプトファイルまたは他のアーカイブファイルへ抽出する。