pg_dumpは、PostgreSQLデータベースをスクリプトファイルまたは他のアーカイブファイルへ抽出するコマンドである。
pg_dump [connection-options] [options] [dbname]
ダンプするデータベース名を指定する。データベース名を指定しなかった場合は、環境変数PGDATABASEに設定されたデータベース名が使われる。
connection-optionsにはデータベース接続オプションを指定できる。
PostgreSQLサーバのホスト名を指定する。ホスト名を指定しなかった場合は、環境変数PGHOSTに設定されたホスト名が使われる。
PostgreSQLサーバのポート番号を指定する。
データベース接続ユーザ名を指定する。
optionsには次のオプションを指定できる。
ファイル形式を指定する。
format | 説明 |
---|---|
p | プレーンテキスト形式(SQL文のスクリプト)で出力する。(デフォルト) この形式で出力した場合、リストアはpsqlコマンドを使用する。 |
plain | |
c | カスタム形式アーカイブを出力する。 この形式で出力した場合、リストアはpg_restoreコマンドを使用する。 |
custom | |
t | tar形式のアーカイブを出力する。 この形式で出力した場合、リストアはpg_restoreコマンドを使用する。 |
tar |
指定したスキーマのみをダンプする。
データベースのバックアップファイルをプレーンテキスト形式で作成する。
pg_dump -U marina exampledb > backup.sql
pg_dump -Fp -U marina exampledb > backup.sql
pg_dump --format=plain -U marina exampledb > backup.sql
データベースのバックアップファイルをカスタム形式で作成する。
pg_dump -Fc -U marina exampledb > backup.dmp
pg_dump --format=custom -U marina exampledb > backup.dmp
データベースのバックアップファイルをtar形式で作成する。
pg_dump -Ft -U marina exampledb > backup.tar
pg_dump --format=tar -U marina exampledb > backup.tar