これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、または MAC OS オンライン エミュレーターなどの複数の無料オンライン ワークステーションの XNUMX つを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド pg_dump です。
プログラム:
NAME
pg_dump - PostgreSQL データベースをスクリプト ファイルまたは他のアーカイブ ファイルに抽出します
SYNOPSIS
pg_dump [接続オプション...] [オプション...] [データベース名]
DESCRIPTION
pg_dump は、PostgreSQL データベースをバックアップするためのユーティリティです。 一貫したバックアップを作成します
データベースが同時に使用されている場合でも。 pg_dump は他のユーザーをブロックしません
データベース (リーダーまたはライター) へのアクセス。
pg_dump は単一のデータベースのみをダンプします。 すべてに共通のグローバル オブジェクトをバックアップするには
クラスター内のデータベース (ロールやテーブルスペースなど) は、 pg_dumpallとします。
ダンプはスクリプトまたはアーカイブ ファイル形式で出力できます。 スクリプト ダンプはプレーンテキスト ファイルです
データベースを当時の状態に再構築するために必要な SQL コマンドが含まれています。
救われた時間。 このようなスクリプトから復元するには、それを次のようにフィードします。 psql(1)。 スクリプト ファイルでは、
他のマシンや他のアーキテクチャ上でもデータベースを再構築するために使用できます。 と
他の SQL データベース製品であっても、いくつかの変更が加えられます。
代替のアーカイブ ファイル形式を使用する必要があります。 pg_restore(1) を再構築する
データベース。 これらにより、pg_restore が復元するものを選択したり、並べ替えたりすることができます。
復元前のアイテム。 アーカイブ ファイル形式は移植可能であるように設計されています
アーキテクチャ全体にわたって。
いずれかのアーカイブ ファイル形式で使用し、pg_restore、pg_dump と組み合わせた場合
柔軟なアーカイブおよび転送メカニズムを提供します。 pg_dump はバックアップに使用できます。
データベース全体を保存した場合、pg_restore を使用してアーカイブを調べたり、アーカイブを選択したりできます。
データベースの一部が復元されます。 最も柔軟な出力ファイル形式は次のとおりです。
「カスタム」形式 (-FC) と「ディレクトリ」形式(-FD)。 選択が可能になり、
すべてのアーカイブされたアイテムの並べ替え、並列復元のサポート、および圧縮
デフォルト。 「ディレクトリ」形式は、並列ダンプをサポートする唯一の形式です。
pg_dump の実行中に、出力に警告がないかどうかを調べる必要があります (標準の
エラー)、特に以下に挙げる制限を考慮すると、
OPTIONS
次のコマンドラインオプションは、出力の内容と形式を制御します。
データベース名
ダンプするデータベースの名前を指定します。 これが指定されていない場合、
環境変数 PGDATABASE 使用されている。 設定されていない場合は、指定されたユーザー名が
接続に使用されます。
-a
-データのみ
スキーマ (データ定義) ではなく、データのみをダンプします。 テーブル データ、ラージ オブジェクト、および
シーケンス値がダンプされます。
このオプションは、次の指定に似ていますが、歴史的な理由により同一ではありません。
--セクション=データ.
-b
--ブロブ
大きなオブジェクトをダンプに含めます。 これは、次の場合を除いてデフォルトの動作です。 -スキーマ,
- テーブルまたは -スキーマのみ が指定されているため、 -b スイッチは大きなものを追加する場合にのみ役立ちます
オブジェクトを選択ダンプに追加します。
-c
- 掃除
コマンドを出力する前に、データベース オブジェクトをクリーン (ドロップ) するコマンドを出力します。
それらを作成しています。 (そうでもなければ -存在する場合 も指定されている場合、復元により何らかの問題が発生する可能性があります。
宛先データベースにオブジェクトが存在しない場合は、無害なエラー メッセージが表示されます。)
このオプションは、プレーンテキスト形式の場合にのみ意味があります。 アーカイブ形式については、
呼び出し時にオプションを指定できます pg_restore.
-C
- 作成
データベース自体を作成し、データベースに再接続するコマンドで出力を開始します。
データベースを作成しました。 (この形式のスクリプトでは、どのデータベースが
スクリプトを実行する前に接続する宛先インストール。) - 掃除 も
指定すると、スクリプトはターゲット データベースを削除して再作成してから、ターゲット データベースに再接続します。
ボーマンは
このオプションは、プレーンテキスト形式の場合にのみ意味があります。 アーカイブ形式については、
呼び出し時にオプションを指定できます pg_restore.
-E エンコーディング
--encoding =エンコーディング
指定された文字セット エンコーディングでダンプを作成します。 デフォルトでは、ダンプは
データベースエンコーディングで作成されます。 (同じ結果を得る別の方法は、
PGCLIENTENCODING 環境変数を目的のダンプエンコーディングに変更します。)
-f file
--file =file
出力を指定したファイルに送信します。 ファイルベースの出力の場合、このパラメータは省略できます。
この場合、標準出力が使用されます。 ディレクトリに指定する必要があります
ただし、出力形式ではファイルではなくターゲット ディレクトリが指定されます。 の
この場合、ディレクトリは次のように作成されます。 pg_dump 以前には存在してはなりません。
-F 形式でアーカイブしたプロジェクトを保存します.
--format =形式でアーカイブしたプロジェクトを保存します.
出力の形式を選択します。 形式でアーカイブしたプロジェクトを保存します. 次のいずれかになります。
p
平野
プレーンテキストの SQL スクリプト ファイルを出力します (デフォルト)。
c
カスタム
pg_restore への入力に適したカスタム形式のアーカイブを出力します。 一緒に
ディレクトリ出力形式。これは、最も柔軟な出力形式です。
復元中にアーカイブされたアイテムを手動で選択して並べ替えることができます。 これ
形式もデフォルトで圧縮されます。
d
ディレクトリにジョブを開始します。
pg_restoreへの入力に適したディレクトリ形式のアーカイブを出力します。 この意志
ダンプされるテーブルと BLOB ごとに XNUMX つのファイルを含むディレクトリを作成します。
ダンプされたオブジェクトを説明するいわゆる目次ファイル。
pg_restore が読み取れる機械可読形式。 ディレクトリ形式のアーカイブでは、
標準の Unix ツールを使用して操作できます。 たとえば、圧縮されていないファイル
アーカイブは gzip ツールで圧縮できます。 この形式はデフォルトで圧縮されています
並列ダンプもサポートしています。
t
tar
出力 tar-pg_restore への入力に適した形式のアーカイブ。 tar形式は
ディレクトリ形式との互換性: tar 形式のアーカイブを抽出すると、
有効なディレクトリ形式のアーカイブ。 ただし、tar形式はサポートされていません
圧縮。 また、tar 形式を使用する場合、テーブル データ項目の相対的な順序
復元中には変更できません。
-j ジョブズ
--jobs =ジョブズ
dump によってダンプを並列実行します ジョブズ 同時にテーブルを操作します。 このオプションにより、
ダンプの時間は短くなりますが、データベース サーバーの負荷も増加します。 あなたはできる
これが唯一の出力であるため、このオプションはディレクトリ出力形式でのみ使用してください。
複数のプロセスが同時にデータを書き込むことができる形式。
pg_dumpが開きます ジョブズ データベースへの接続が + 1 つあるため、
max_connections 設定は、すべての接続に対応できる十分な大きさに設定します。
パラレル ダンプの実行中にデータベース オブジェクトの排他ロックを要求すると、
ダンプが失敗する原因となります。 その理由は、pg_dump マスター プロセスのリクエストが共有されるためです。
ワーカープロセスが後でダンプするオブジェクトをロックします。
ダンプの実行中に誰もそれらを削除したり、消滅させたりしないようにしてください。
その後、別のクライアントがテーブルの排他ロックを要求した場合、そのロックは無効になります。
許可されていますが、マスター プロセスの共有ロックが解除されるまでキューに入れられます。
解放されました。 したがって、テーブルへの他のアクセスも許可されなくなります。
排他的ロック要求の後にキューに入れられます。 これには、ワーカー プロセスが試行するものも含まれます。
テーブルをダンプします。 何の予防策も講じなければ、これは典型的な行き詰まりの状況になります。
この競合を検出するために、pg_dump ワーカー プロセスは次を使用して別の共有ロックを要求します。
NOWAIT オプション。 ワーカー プロセスにこの共有ロックが付与されていない場合、誰かが
それ以外の場合は、その間に排他ロックを要求している必要があり、それを行う方法はありません
ダンプを続行するため、pg_dump にはダンプを中止する以外に選択肢はありません。
一貫したバックアップを実現するには、データベース サーバーが同期スナップショットをサポートする必要があります。
PostgreSQL 9.2 で導入された機能。 この機能により、データベース クライアントは
異なる接続を使用している場合でも、同じデータセットが確実に表示されるようにすることができます。
pg_dump -j 複数のデータベース接続を使用します。 データベースに一度接続します
マスタープロセスと各ワーカージョブに対して再度実行します。 同期なしでは
スナップショット機能を使用すると、異なるワーカー ジョブが同じものを参照できるとは限りません。
各接続にデータが存在するため、バックアップが不整合になる可能性があります。
9.2 より前のサーバーの並列ダンプを実行する場合は、
データベースの内容は、マスターがサーバーに接続してから変更されません。
最後のワーカー ジョブがデータベースに接続するまで、データベースは継続されます。 最も簡単な方法は、
これは、データベースにアクセスするデータ変更プロセス (DDL および DML) を停止するためです。
バックアップを開始する前に。 も指定する必要があります --no-synchronized-snapshots
実行時のパラメータ pg_dump -j 9.2 より前の PostgreSQL サーバーに対して。
-n スキーマ
--スキーマ=スキーマ
一致するスキーマのみをダンプする スキーマ; これにより、スキーマ自体とそのすべてのスキーマの両方が選択されます。
含まれているオブジェクト。 このオプションが指定されていない場合は、システム以外のすべてのスキーマが
ターゲットデータベースはダンプされます。 複数記述することで複数のスキーマを選択可能
-n スイッチ。 また、 スキーマ パラメータは、に従ってパターンとして解釈されます。
psql の \d コマンドで使用されるのと同じルール (「パターン」を参照) なので、複数のスキーマを使用することもできます。
パターンにワイルドカード文字を書き込むことで選択されます。 ワイルドカードを使用する場合は、
シェルが展開しないように、必要に応じてパターンを引用符で囲むように注意してください。
ワイルドカード; 例を参照してください。
注意
日時 -n が指定されている場合、pg_dump は他のデータベース オブジェクトをダンプしようとしません。
選択したスキーマが依存する可能性があるもの。 したがって、保証はありません
特定のスキーマ ダンプの結果は、次の方法で正常に復元できることを確認します。
それら自体をクリーンなデータベースに保存します。
注意
BLOB などの非スキーマ オブジェクトはダンプされません。 -n と指定されている。 あなたは付け加えられます
BLOB をダンプに戻します --ブロブ スイッチ。
-N スキーマ
--除外スキーマ=スキーマ
に一致するスキーマをダンプしないでください。 スキーマ パターン。 パターンが解釈される
と同じルールに従って -n. -N 除外するために複数回与えることができます
いくつかのパターンのいずれかに一致するスキーマ。
両方の場合 -n と -N が与えられた場合、その動作は、一致するスキーマのみをダンプすることです。
少なくともXNUMXつ -n 切り替えますが、いいえ -N スイッチ。 もしも -N なしで表示されます -n、次にスキーマ
マッチング -N 通常のダンプから除外されます。
-o
--oids
すべてのテーブルのデータの一部としてオブジェクト識別子(OID)をダンプします。 次の場合にこのオプションを使用します
アプリケーションが何らかの方法でOID列を参照している(外部キーなど)
制約)。 それ以外の場合は、このオプションを使用しないでください。
-O
-所有者なし
元のデータベースと一致するようにオブジェクトの所有権を設定するコマンドを出力しないでください。 に
デフォルト、pg_dump の問題 変更する OWNER or セット セッション 認可 設定するステートメント
作成されたデータベース オブジェクトの所有権。 スクリプトが次の場合、これらのステートメントは失敗します。
スーパーユーザー(またはすべてのオブジェクトを所有する同じユーザー)によって開始されない限り、実行します
スクリプト内)。 すべてのユーザーが復元できるが、それを与えるスクリプトを作成するには
すべてのオブジェクトのユーザー所有権、指定 -O.
このオプションは、プレーンテキスト形式の場合にのみ意味があります。 アーカイブ形式については、
呼び出し時にオプションを指定できます pg_restore.
-R
--再接続なし
このオプションは廃止されましたが、下位互換性のためにまだ受け入れられています。
-s
-スキーマのみ
データではなく、オブジェクト定義(スキーマ)のみをダンプします。
このオプションは次の逆です。 -データのみ。 に似ていますが、歴史的なものです
同一ではない理由を指定する --section=プレデータ --section=ポストデータ.
(これと混同しないでください。 -スキーマ オプション。「スキーマ」という単語を使用します。
意味が違います。)
データベース内のテーブルのサブセットのみのテーブル データを除外するには、を参照してください。
-- 除外表データ.
-S ユーザ名
-スーパーユーザー=ユーザ名
トリガーを無効にするときに使用するスーパーユーザーのユーザー名を指定します。 これは関連するだけです
if --無効化トリガー 使用されている。 (通常、これを省略して、代わりに
結果のスクリプトをスーパーユーザーとして開始します。)
-t テーブル
-テーブル=テーブル
一致するテーブル (またはビュー、シーケンス、外部テーブル) のみをダンプします テーブル。 複数
複数のテーブルを記述することでテーブルを選択できます -t スイッチ。 また、 テーブル パラメータは
psql の \d コマンドで使用されるのと同じルールに従ってパターンとして解釈されます (「
パターン)、ワイルドカード文字を書き込むことで複数のテーブルを選択することもできます。
パターン。 ワイルドカードを使用する場合は、必要に応じてパターンを引用符で囲むように注意してください。
シェルがワイルドカードを展開しないようにします。 例を参照してください。
この -n と -N 次の場合、スイッチは効果を持ちません。 -t によってテーブルが選択されているため、 が使用されます。 -t
これらのスイッチに関係なくダンプされ、テーブル以外のオブジェクトはダンプされません。
注意
日時 -t が指定されている場合、pg_dump は他のデータベース オブジェクトをダンプしようとしません。
選択したテーブルが依存している可能性があるもの。 したがって、保証はありません
特定のテーブルのダンプの結果は、次の方法で正常に復元できることを確認します。
それら自体をクリーンなデータベースに保存します。
注意
の振る舞い -t スイッチは 8.2 以前と完全には上位互換性がありません
PostgreSQL のバージョン。 以前は、-t tab と書くと tab という名前のすべてのテーブルがダンプされていましたが、
現在は、デフォルトの検索パスに表示されているものをダンプするだけです。 を入手するには、
古い動作では、-t '*.tab' と書くことができます。 また、 -t のようなものを記述する必要があります
sch.tab を使用すると、古い表現ではなく、特定のスキーマ内のテーブルを選択できます。
-n sch -t タブ。
-T テーブル
--除外テーブル=テーブル
に一致するテーブルをダンプしないでください。 テーブル パターン。 パターンが解釈される
と同じルールに従って -t. -T 除外するために複数回与えることができます
いくつかのパターンのいずれかに一致するテーブル。
両方の場合 -t と -T が与えられた場合、その動作は、一致するテーブルのみをダンプすることです。
少なくともXNUMXつ -t 切り替えますが、いいえ -T スイッチ。 もしも -T なしで表示されます -t、次に一致するテーブル
-T 通常のダンプから除外されます。
-v
-詳細
冗長モードを指定します。 これにより、pg_dump は詳細なオブジェクト コメントを出力し、
開始/停止時刻をダンプ ファイルに出力し、進捗メッセージを標準エラーに出力します。
-V
- バージョン
pg_dump のバージョンを出力して終了します。
-x
-特権なし
--ACLなし
アクセス権のダンプを防止します(コマンドの付与/取り消し)。
-Z 0 9 ..
--compress =0 9 ..
使用する圧縮レベルを指定します。 ゼロは圧縮がないことを意味します。 カスタム用に
アーカイブ形式。これは、個々のテーブルデータセグメントの圧縮を指定します。
デフォルトでは、中程度のレベルで圧縮されます。 プレーンテキスト出力の場合、ゼロ以外の値を設定します
圧縮レベルにより、出力ファイル全体が、あたかも圧縮されているかのように圧縮されます。
gzip を通じて供給される。 ただし、デフォルトでは圧縮されません。 tar アーカイブ形式
現在、圧縮はまったくサポートされていません。
--バイナリアップグレード
このオプションは、インプレースアップグレードユーティリティで使用するためのものです。 他の目的での使用は
推奨またはサポートされていません。 オプションの動作は、将来のリリースで変更される可能性があります
無断で。
--列-挿入
--属性-挿入
データを次のようにダンプします INSERT 明示的な列名を持つコマンド(INSERT INTO テーブル (の項目に表示されます。,
...)値...)。 これにより、復元が非常に遅くなります。 主に作るのに便利です
PostgreSQL 以外のデータベースにロードできるダンプ。 ただし、このオプションがあるので、
行ごとに個別のコマンドを生成します。行のリロード時のエラーは、
テーブルの内容全体ではなく、その行が失われます。
--ドル引用符を無効にする
このオプションは、関数本体のドル引用符の使用を無効にし、関数本体に強制します
SQL標準の文字列構文を使用して引用します。
--無効化トリガー
このオプションは、データのみのダンプを作成する場合にのみ関係します。 pg_dump に次のように指示します。
データが保存されている間、ターゲット テーブルのトリガーを一時的に無効にするコマンドが含まれています。
リロードされます。 参照整合性チェックやその他のトリガーがある場合は、これを使用します。
データのリロード中に呼び出したくないテーブル。
現在、 --無効化トリガー スーパーユーザーとして実行する必要があります。 それで、
スーパーユーザー名も指定する必要があります -S、またはできれば開始するように注意してください
結果のスクリプトはスーパーユーザーとして。
このオプションは、プレーンテキスト形式の場合にのみ意味があります。 アーカイブ形式については、
呼び出し時にオプションを指定できます pg_restore.
--enable-行-セキュリティ
このオプションは、行があるテーブルの内容をダンプする場合にのみ関連します。
安全。 デフォルトでは、pg_dump は row_security をオフに設定し、すべてのデータが確実に
テーブルから放り出された。 ユーザーが行をバイパスするための十分な権限を持っていない場合
セキュリティに問題がある場合、エラーがスローされます。 このパラメータは、pg_dump に次の設定を指示します。
代わりに row_security を on に設定すると、ユーザーがファイルの内容の一部をダンプできるようになります。
アクセスできるテーブル。
--除外テーブルデータ=テーブル
に一致するテーブルのデータをダンプしないでください。 テーブル パターン。 パターンが解釈される
と同じルールに従って -t. -- 除外表データ 以上を与えることができます
複数のパターンのいずれかに一致するテーブルを除外するには XNUMX 回。 このオプションは次の場合に役立ちます。
データが必要ない場合でも、特定のテーブルの定義が必要な場合
ボーマンは
データベース内のすべてのテーブルのデータを除外するには、を参照してください。 -スキーマのみ.
-存在する場合
データベースをクリーニングするときに条件付きコマンドを使用する (つまり、IF EXISTS 句を追加する)
オブジェクト。 このオプションは、 - 掃除 も指定されています。
--挿入
データを次のようにダンプします INSERT コマンド(ではなく COPY)。 これにより、復元が非常に遅くなります。
これは主に、PostgreSQL以外のデータベースにロードできるダンプを作成する場合に役立ちます。
ただし、このオプションは行ごとに個別のコマンドを生成するため、
行を再ロードすると、テーブルの内容全体ではなく、その行のみが失われます。
列の順序を並べ替えた場合、復元が完全に失敗する可能性があることに注意してください。 The
--列-挿入 このオプションは列順序の変更に対して安全ですが、さらに遅くなります。
--lock-wait-timeout =タイムアウト
ダンプの開始時に共有テーブルロックを取得するのを永遠に待たないでください。
代わりに、指定された範囲内でテーブルをロックできない場合は失敗します。 タイムアウト。 タイムアウトが発生する可能性があります
によって受け入れられる形式のいずれかで指定する セット ステートメントタイムアウト。 (許可される値
ダンプ元のサーバーのバージョンによって異なりますが、整数
ミリ秒は、7.3以降のすべてのバージョンで受け入れられます。 このオプションは、次の場合は無視されます。
7.3 より前のサーバーからダンプします)。
--セキュリティラベルなし
セキュリティラベルをダンプしないでください。
--no-synchronized-snapshots
このオプションにより実行が可能になります pg_dump -j 9.2 より前のサーバーに対しては、ドキュメントを参照してください。
-j 詳細については、パラメータを参照してください。
--テーブルスペースなし
テーブルスペースを選択するコマンドを出力しません。 このオプションを使用すると、すべてのオブジェクトが
リストア中にデフォルトのテーブルスペースに作成されます。
このオプションは、プレーンテキスト形式の場合にのみ意味があります。 アーカイブ形式については、
呼び出し時にオプションを指定できます pg_restore.
--ログされていないテーブルデータなし
ログに記録されていないテーブルの内容をダンプしないでください。 このオプションは、
テーブル定義(スキーマ)はダンプされません。 テーブルのダンプを抑制するだけです
データ。 スタンバイ サーバーからダンプする場合、ログに記録されていないテーブル内のデータは常に除外されます。
--quote-all-identifiers
すべての識別子を強制的に引用します。 これは、データベースをダンプするときに役立つ場合があります
追加のキーワードが導入された可能性のある将来のバージョンへの移行。
--section =セクション名
指定されたセクションのみをダンプします。 セクション名は次のとおりです。 プレデータ, データまたは ポストデータ.
このオプションを複数回指定して、複数のセクションを選択できます。 デフォルト
すべてのセクションをダンプすることです。
データ セクションには、実際のテーブル データ、ラージ オブジェクトのコンテンツ、およびシーケンスが含まれます。
価値観。 ポストデータ項目には、インデックス、トリガー、ルール、および
検証されたチェック制約以外の制約。 プレデータ項目には他のすべての項目が含まれます
データ定義項目。
--serializable-deferable
ダンプにシリアル化可能なトランザクションを使用して、使用されるスナップショットが確実に
後のデータベース状態との一貫性。 ただし、これを行うには、
異常が存在しないトランザクション ストリームなので、次のようなリスクはありません。
ダンプが失敗するか、他のトランザクションがロールバックされます。
シリアル化_失敗。 ドキュメントの第 13 章「同時実行制御」を参照してください。
トランザクション分離と同時実行制御の詳細。
このオプションは、災害復旧のみを目的としたダンプには役に立ちません。
これは、レポート用にデータベースのコピーをロードするために使用されるダンプとして役立つ可能性があります。
元のデータベースの更新が継続されている間、他の読み取り専用の負荷分散が行われます。
これがないと、ダンプはどのシリアルとも一致しない状態を反映する可能性があります。
最終的にコミットされたトランザクションの実行。 たとえば、バッチ処理の場合、
テクニックが使用されている場合、バッチはダンプ内ですべての項目が含まれていない状態で閉じられたと表示される場合があります。
表示されるバッチに含まれているもの。
アクティブな読み取り/書き込みトランザクションがない場合、このオプションは問題ありません。
pg_dump の起動時。 読み取り/書き込みトランザクションがアクティブな場合、ダンプの開始
不定の期間遅延する可能性があります。 実行すると、または
スイッチなしでも同じです。
--スナップショット=スナップショット名
データベースのダンプを作成するときに、指定された同期スナップショットを使用します (「
詳細については、表9.71「スナップショット同期関数」を参照してください)。
このオプションは、ダンプを論理レプリケーションと同期する必要がある場合に役立ちます。
スロット (ドキュメントの第 46 章「論理デコード」を参照)、または同時スロットを使用
セッション。
パラレルダンプの場合、このオプションで定義されたスナップショット名が使用されます。
新しいスナップショットを撮るのではなく。
--use-set-session-authorization
出力SQL標準 セット セッション 認可 代わりにコマンド 変更する OWNER コマンド
オブジェクトの所有権を決定します。 これにより、ダンプの標準互換性が高まりますが、
ダンプ内のオブジェクトの履歴によっては、正しく復元できない場合があります。 また、
を使用したダンプ セット セッション 認可 確かにスーパーユーザー権限が必要です
正しく復元しますが、 変更する OWNER より少ない権限が必要です。
-?
- 助けて
pg_dump コマンドライン引数に関するヘルプを表示して終了します。
次のコマンドラインオプションは、データベース接続パラメータを制御します。
-d データベース名
--dbname =データベース名
接続するデータベースの名前を指定します。 これは次のように指定するのと同じです
データベース名 コマンドラインの最初の非オプション引数として。
このパラメータに = 記号が含まれているか、有効な URI プレフィックス (postgresql://
または postgres://) として扱われます。 接続情報 弦。 「データベース」を参照してください。
詳細については、ドキュメントの「接続制御機能」を参照してください。
-h host
--host =host
サーバーが実行されているマシンのホスト名を指定します。 値が
スラッシュで始まり、Unixドメインソケットのディレクトリとして使用されます。 NS
デフォルトはから取得されます ゴースト 環境変数(設定されている場合)、それ以外の場合はUnixドメイン
ソケット接続が試行されます。
-p ポート
--port =ポート
サーバーが接続されているTCPポートまたはローカルUnixドメインソケットファイル拡張子を指定します
接続をリッスンしています。 デフォルトは PGポート 環境変数(設定されている場合)、または
コンパイルされたデフォルト。
-U ユーザ名
--username =ユーザ名
接続するユーザー名。
-w
-パスワードなし
パスワードプロンプトは絶対に発行しないでください。 サーバーがパスワード認証を必要とし、
パスワードは、.pgpassファイル、接続などの他の手段では利用できません。
試行は失敗します。 このオプションは、ユーザーがいないバッチジョブやスクリプトで役立ちます。
パスワードを入力するために存在します。
-W
- パスワード
データベースに接続する前に、pg_dump にパスワードの入力を強制します。
pg_dump は自動的にパスワードの入力を求めるため、このオプションは決して必須ではありません。
サーバーがパスワード認証を要求する場合。 ただし、pg_dump は
接続は、サーバーがパスワードを必要としていることを確認しようとします。 場合によっては
入力する価値がある -W 余分な接続の試行を回避するため。
--role =ロールネーム
ダンプの作成に使用するロール名を指定します。 このオプションにより、pg_dump は
発行する セット ROLE ロールネーム データベースに接続した後のコマンド。 便利な場合
認証されたユーザー( -U) pg_dump に必要な権限がありませんが、
必要な権限を持つロールに切り替えます。 一部のインストールでは、
スーパーユーザーとして直接ログインし、このオプションを使用するとダンプを作成できます。
ポリシーに違反することなく。
ENVIRONMENT
PGDATABASE
ゴースト
Pオプション
PGポート
プユーザー
デフォルトの接続パラメータ。
このユーティリティは、他のほとんどのPostgreSQLユーティリティと同様に、環境変数も使用します
libpqでサポートされています(ドキュメントのセクション31.14「環境変数」を参照)。
診断
pg_dump が内部で実行される SELECT 発言。 pg_dump の実行に問題がある場合は、次のようにします。
たとえば、次のようにしてデータベースから情報を選択できることを確認してください。 psqlとします。
また、libpq によって使用されるデフォルトの接続設定と環境変数
フロントエンドライブラリが適用されます。
pg_dump のデータベース アクティビティは、通常、統計コレクターによって収集されます。 もしも
これは望ましくないので、パラメータを設定できます トラック数 false 経由で Pオプション または
ALTER USER コマンド。
注意事項
データベース クラスターに template1 データベースへのローカル追加がある場合は、次の点に注意してください。
pg_dump の出力を真に空のデータベースに復元します。 そうしないと、次のような結果が得られる可能性があります
追加されたオブジェクトの重複定義によるエラー。 空のデータベースを作成するには
ローカルに何も追加せずに、template0 ではなく template1 からコピーします。次に例を示します。
テンプレート template0 を使用してデータベース foo を作成します。
データのみのダンプが選択され、オプションが --無効化トリガー が使用されると、pg_dump が出力されます
データを挿入する前にユーザーテーブルのトリガーを無効にするコマンドと、その後のコマンド
データの挿入後にそれらを再度有効にします。 復元が途中で停止した場合、
中央では、システム カタログが間違った状態のままになっている可能性があります。
pg_dump によって生成されたダンプ ファイルには、オプティマイザが使用する統計情報は含まれていません。
クエリ計画の決定を行います。 したがって、実行するのが賢明です ANALYZE から復元した後
最適なパフォーマンスを確保するためのダンプ ファイル。 「プランナーの更新」を参照してください。
ドキュメントの「統計」およびセクション 23.1.6「Autovacuum デーモン」を参照してください。
詳細については、ドキュメントを参照してください。 ダンプ ファイルにも何も含まれていません 変更する DATABASE
... セット コマンド。 これらの設定は次によってダンプされます pg_dumpall(1) データベース ユーザーとともに
およびその他のインストール全体の設定。
pg_dump は新しいバージョンの PostgreSQL にデータを転送するために使用されるため、次の出力は
pg_dump は、pg_dump よりも新しいバージョンの PostgreSQL サーバーにロードされることが期待できます。
バージョン。 pg_dump は、自身のバージョンよりも古い PostgreSQL サーバーからダンプすることもできます。
(現在、バージョン 7.0 までのサーバーがサポートされています。) ただし、pg_dump からダンプすることはできません。
独自のメジャー バージョンよりも新しい PostgreSQL サーバー。 むしろ試みることすら拒否するだろう
無効なダンプを作成する危険を冒す必要はありません。 また、pg_dump の出力が次のようなものであることは保証されていません。
ダンプが古いメジャー バージョンのサーバーにロードされた場合でも、ダンプが
そのバージョンのサーバー。 古いサーバーにダンプ ファイルをロードするには手動が必要な場合があります
ダンプ ファイルを編集して、古いサーバーが理解できない構文を削除します。
例
mydb というデータベースを SQL スクリプト ファイルにダンプするには、次のようにします。
$ pg_dump マイデータベース > db.sql
このようなスクリプトを newdb という名前の (新しく作成した) データベースに再ロードするには、次のようにします。
$ psql -d 新しいデータベース -f db.sql
データベースをカスタム形式のアーカイブ ファイルにダンプするには:
$ pg_dump -FC マイデータベース > デシベルダンプ
データベースをディレクトリ形式のアーカイブにダンプするには、次の手順を実行します。
$ pg_dump -FD マイデータベース -f ダンプディレクトリ
5 つのワーカー ジョブと並行してデータベースをディレクトリ形式のアーカイブにダンプするには、次の手順を実行します。
$ pg_dump -FD マイデータベース -j 5 -f ダンプディレクトリ
アーカイブ ファイルを newdb という名前の (新しく作成した) データベースに再ロードするには:
$ pg_restore -d 新しいデータベース デシベルダンプ
mytab という名前の単一テーブルをダンプするには:
$ pg_dump -t マイタブ マイデータベース > db.sql
デトロイト スキーマ内の名前が emp で始まるすべてのテーブル (テーブルを除く) をダンプするには
名前はemployee_log:
$ pg_dump -t 「デトロイト.emp*」 -T デトロイト.従業員_ログ マイデータベース > db.sql
名前が east またはwest で始まり gsm で終わるすべてのスキーマをダンプするには、
名前に test という単語が含まれるスキーマ:
$ pg_dump -n 「イースト*gsm」 -n 「ウェスト*gsm」 -N '*テスト*' マイデータベース > db.sql
同様に、正規表現表記を使用してスイッチを統合します。
$ pg_dump -n '(東|西)*gsm' -N '*テスト*' マイデータベース > db.sql
名前が ts_ で始まるテーブルを除くすべてのデータベース オブジェクトをダンプするには、次のようにします。
$ pg_dump -T 'ts_*' マイデータベース > db.sql
大文字または大文字と小文字が混在した名前を指定するには -t および関連するスイッチについては、次のことを行う必要があります。
名前を二重引用符で囲みます。 それ以外の場合は小文字に変換されます (「パターン」を参照)。 でも倍
引用符はシェルにとって特別なものであるため、引用符で囲む必要があります。 したがって、単一のファイルをダンプするには、
大文字と小文字が混合された名前のテーブルの場合は、次のようなものが必要です
$ pg_dump -t 「\"混合ケース名\"」 マイデータベース > mytab.sql
onworks.net サービスを使用してオンラインで pg_dump を使用する