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