PostgreSQL | ターミナルコマンド集 | バックアップ(pg_dump)

ヘルプ表示

$ pg_dump --help
pg_dump はデータベースをテキストファイルまたはその他の
形式のファイルとしてダンプする。

使用方法:
  pg_dump [オプション]... [DB名]

一般オプション:
  -f, --file=FILENAME         出力ファイル名
  -F, --format=c|t|p          出力ファイル形式(カスタム、tar、プレーンテキスト)
  -v, --verbose               詳細表示モード
  -Z, --compress=0-9          圧縮形式の圧縮レベル
  --lock-wait-timeout=TIMEOUT テーブルロックを TIMEOUT だけ待ってから失敗

  --help                      このヘルプを表示して終了
  --version                   バージョン情報を出力して終了

出力内容を扱うオプション:
  -a, --data-only             スキーマを除き、データだけをダンプ
  -b, --blobs                 Large Object も一緒にダンプ
  -c, --clean                 再作成前にデータベースオブジェクトを削除
  -C, --create                データベース作成コマンドも含める
  -E, --encoding=ENCODING     指定したエンコーディングでデータをダンプ
  -n, --schema=SCHEMA         指定した SCHEMA のデータだけをダンプ
  -N, --exclude-schema=SCHEMA 指定した SCHEMA だけを除いてすべてダンプ
  -o, --oids                  OID を含めてダンプ
  -O, --no-owner              プレーンテキスト形式で
                              オブジェクト所有権の復元をスキップ
  -s, --schema-only           データ構造(スキーマ)だけをダンプ
  -S, --superuser=NAME        プレーンテキスト形式で使用する superuser ユーザー名
  -t, --table=TABLE           指定した名前のテーブルだけをダンプ
  -T, --exclude-table=TABLE   指定したテーブルだけを除いてダンプ
  -x, --no-privileges         アクセス権限(grant/revoke)情報はダンプしない
  --binary-upgrade            アップグレードユーティリティ専用
  --inserts                   COPY ではなく INSERT コマンドでデータをダンプ
  --column-inserts            カラム名付き INSERT コマンドでデータをダンプ
  --disable-dollar-quoting    ドル引用構文を使用せず、SQL 標準引用符を使用
  --disable-triggers          データだけを復元するときにトリガーを無効化
  --no-tablespaces            テーブルスペース割り当てをダンプしない
  --role=ROLENAME             ダンプ前に SET ROLE を実行
  --use-set-session-authorization
                              ALTER OWNER コマンドの代わりに
                              SET SESSION AUTHORIZATION コマンドで所有権を設定

接続オプション:
  -h, --host=HOSTNAME      接続先データベースサーバーまたはソケットディレクトリ
  -p, --port=PORT          データベースサーバーのポート番号
  -U, --username=NAME      接続するデータベースユーザー
  -w, --no-password        パスワードプロンプトを表示しない
  -W, --password           パスワード入力プロンプトを表示する

データベース名を指定しない場合、PGDATABASE 環境変数の値を使用する。

バックアップダンプ例

./pg_dump --port=5432 --username=root --schema=public --file=devkuma.dump --no-owner devkuma

復元例

./psql --port=5432 --username=admin --dbname=devkuma --no-password -f devkuma.dump

参照

https://www.postgresql.org/docs/10/static/app-pgdump.html