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