[option...]説明pg_dumpallはクラスタの全てのPostgreSQLデータベースを、1つのスクリプトファイルに書き出す(「ダンプする」)ためのユーティリティです。スクリプトファイルには、データベースのリストアのためにpsqlへの入力として使うことのできるSQLコマンドが含まれています。これはクラスタ内の各データベースに対してpg_dumpを呼び出すことで行われます。(pg_dumpはこれらのオブジェクトを保存しません)。現時点では、これにはデータベースユーザとグループ、テーブル空間、データベース全体に適用するアクセス制限などの属性に関する情報が含まれています。pg_dumpallは全てのデータベースからテーブルを読み込むため、完全なダンプを作成するには、おそらくデータベーススーパーユーザとして接続する必要がある可能性が高いでしょう。保存されたスクリプトを実行する時には、ユーザとグループを追加したり、データベースを作成したりするので、スーパーユーザ権限が必要になるでしょう。SQLスクリプトは標準出力に書き込まれます。それをファイルにリダイレクトするためには、[-f|file]オプションまたはシェルの演算子を使用して下さい。pg_dumpallは、PostgreSQLサーバに何度か接続しなければなりません(データベースごとに接続することになります)。パスワード認証を使用している場合、その度にパスワード入力が促されます。そのような場合は~/.pgpassファイルを用意しておくと便利です。パスワードファイルを参照してください。オプション以下のコマンドラインオプションは出力内容や形式を制御します。-a--data-onlyデータのみをダンプし、スキーマ(データ定義)をダンプしません。-c--cleanデータベースを再作成するコマンドの前に、データベースのクリーンアップ(削除)するコマンドを書き出します。ロールおよびテーブル空間用のDROPコマンドも同様に追加されます。filename--file=filename出力を指定したファイルに送ります。これが省略されると標準出力が使用されます。-g--globals-onlyグローバルオブジェクト(ロールとテーブル空間)のみをダンプし、データベースのダンプを行いません。-o--oids各テーブルのオブジェクト識別子(OID)をデータの一部としてダンプします。アプリケーションでOID列を(外部キー制約など)何らかの形で使用している場合は、このオプションを使用してください。なければ、このオプションは使用しないでください。-O--no-ownerオブジェクトの所有権を元のデータベースに一致させるためのコマンドを出力しません。AUTHORIZATION文を発行して作成したスキーマ要素の所有権を設定します。スーパーユーザ(もしくは、スクリプト内の全てのオブジェクトを所有するユーザ)以外のユーザがスクリプトを実行した場合、これらの文は失敗します。任意のユーザがリストアできるスクリプトを作成するには、-Oを指定してください。この場合は、全てのオブジェクトの所有者がリストアしたユーザとなってしまいます。-r--roles-onlyロールのみをダンプし、データベースやテーブル空間のダンプを行いません。-s--schema-onlyオブジェクト定義(スキーマ)のみをダンプし、データをダンプしません。username--superuser=usernameトリガを無効にする際に使用するスーパーユーザのユーザ名を指定します。(通常はこのオプションを使うよりも、出力されたスクリプトをスーパーユーザ権限で実行する方が良いでしょう)。-t--tablespaces-onlyテーブル空間のみをダンプし、データベースやロールのダンプを行いません。-v--verbose冗長モードを指定します。これを指定すると、pg_dumpallは開始時刻と終了時刻をダンプファイルに、進行メッセージを標準エラーに出力するようになります。これによりpg_dumpの冗長出力が有効になります。-V--versionpg_dumpallのバージョンを表示し、終了します。-x--no-privileges--no-aclアクセス権限のダンプ(grant/revokeコマンド)を行いません。--binary-upgradeこのオプションは現位置でのアップグレード用のユーティリティにより使用されるものです。他の目的での使用は推奨されませんし、サポートもされません。このオプションの動作は、将来通知することなく変更される可能性があります。VALUES...)としてダンプします。これによりリストアは非常に遅くなります。PostgreSQL以外のデータベースにロード可能なダンプを作成する時に有用です。--disable-dollar-quotingこのオプションは、関数本体用のドル引用符の使用を無効にし、強制的に標準SQLの文字列構文を使用した引用符付けを行います。--disable-triggersこのオプションは、データのみのダンプを作成する場合だけに使用します。データのリロード中に、対象とするテーブル上のトリガを一時的に使用不可にするためのコマンドを出力するようpg_dumpallに指示します。このオプションは、データのリロード中には呼び出したくない参照整合性検査やその他のトリガがテーブル上にある場合に使用します。現在のところ、--disable-triggersを指定してコマンドを実行するのは、スーパーユーザでなければなりません。そのため、-Sでスーパーユーザの名前を指定するか、あるいは、可能であれば、スーパーユーザ権限でスクリプトを開始するよう注意する必要があります。EXISTS句を追加します)。このオプションは、--cleanも指定されているのでなければ、有効にはなりません。--insertsデータを(COPYではなく)INSERTコマンドとしてダンプします。これを行うとリストアが非常に遅くなります。PostgreSQL以外のデータベースにロード可能なダンプを作成する時に有用です。列の順序を変更した場合はリストアが失敗する可能性があることに注意してください。低速になりますが、--column-insertsオプションの方が安全です。--lock-wait-timeout=timeoutダンプ開始時に共有テーブルロックの獲得のために永遠に待機しません。指定したtimeoutの間にテーブルをロックすることができない場合は失敗します。statement_timeoutで受け付けられる任意の書式で指定することができます。許される値はダンプ元のサーババージョンに依存して変わります。7.3以降のすべてのバージョンでミリ秒単位の整数値は受け付けられます。このオプションは7.3より前のサーバからダンプされた場合、無視されます。--no-security-labelsセキュリティラベルをダンプしません。--no-tablespacesオブジェクト用にテーブル空間を作成または選択するコマンドを出力しません。このオプションを付けると、すべてのオブジェクトはリストア時のデフォルトのテーブル空間内に作成されます。--no-unlogged-table-dataログを取らないテーブルの内容をダンプしません。このオプションはテーブル定義(スキーマ)をダンプするかどうかには影響しません。そのテーブルデータのダンプを抑制するだけです。--quote-all-identifiers強制的にすべての識別子に引用符を付与します。このオプションは、pg_dumpallのメジャーバージョンとは異なるメジャーバージョンのPostgreSQLのサーバーからデータベースをダンプするとき、あるいは出力を異なるメジャーバージョンのサーバにロードする予定であるときに推奨されます。デフォルトでは、pg_dumpallは、それ自身のメジャーバージョンにおける予約語である識別子に対してのみ引用符を付与します。これは、他のバージョンのサーバを処理するときに互換性の問題を引き起こす場合があります。他のバージョンのサーバでは予約語の集合が多少、異なる場合があるからです。--quote-all-identifiersを使用することで、ダンプのスクリプトが読みにくくなりますが、このような問題を防ぐことができます。AUTHORIZATIONコマンドを出力します。これにより、ダンプの標準への互換性が高まりますが、ダンプ内のオブジェクトの履歴によっては正しくリストアされない可能性があります。-?--helppg_dumpallコマンドライン引数の使用方法を表示し、終了します。以下のコマンドラインオプションは、データベース接続パラメータを制御します。connstr--dbname=connstrサーバに接続するために使用されるパラメータを接続文字列として指定します。接続文字列を参照してください。このオプションは、他のクライアントアプリケーションとの一貫性のために--dbnameと呼ばれます。pg_dumpallは多くのデータベースに接続しなければなりませんので、接続文字列内のデータベース名は無視されます。グローバルオブジェクトをダンプするために使用されるデータベースの名前を指定するため、または他のどのデータベースをダンプしなければならないかを見つけるためには-lを使用してください。host--host=hostデータベースサーバが稼働しているマシンのホスト名を指定します。この値がスラッシュから始まる場合、Unixドメインソケット用のディレクトリとして使用されます。デフォルトは、設定されていれば環境変数PGHOSTから取得されます。設定されていなければ、Unixドメインソケット接続とみなされます。dbname--database=dbnameグローバルオブジェクトをダンプし、他のどのデータベースをダンプすべきかを見つけるために接続するデータベースの名前を指定します。指定されなかった場合、postgresが使用されます。これも存在しない場合はtemplate1が使用されます。port--port=portサーバが接続を監視するTCPポートもしくはローカルUnixドメインソケットファイルの拡張子を指定します。デフォルトは、設定されている場合、環境変数PGPORTの値になります。設定されていなければ、コンパイル時のデフォルト値となります。username--username=username接続ユーザ名です。-w--no-passwordパスワードの入力を促しません。サーバがパスワード認証を必要とし、かつ、.pgpassファイルなどの他の方法が利用できない場合、接続試行は失敗します。バッチジョブやスクリプトなどパスワードを入力するユーザが存在しない場合にこのオプションは有用かもしれません。-W--passwordデータベースに接続する前に、pg_dumpallは強制的にパスワード入力を促します。サーバがパスワード認証を要求する場合pg_dumpallは自動的にパスワード入力を促しますので、これが重要になることはありません。pg_dumpallは、サーバにパスワードが必要かどうかを判断するための接続試行を無駄に行います。した余計な接続試行を防ぐために-Wの入力が有意となる場合もあります。パスワードの入力はダンプするデータベース毎に繰り返し促されます。通常は、手作業のパスワード入力に依存するよりも~/.pgpassを設定する方が良いでしょう。--role=rolenameダンプを作成する際に使用するロール名を指定します。rolenameコマンドを発行するようになります。認証に使用したユーザ(-Uで指定されたユーザ)がpg_dumpallで必要とされる権限を持たないが、必要な権限を持つロールに切り替えることができる場合に有用です。一部のインストレーションではスーパーユーザとして直接ログインさせないポリシーを取ることがありますが、このオプションを使用することでポリシーに反することなくダンプを作成することができます。環境PGHOSTPGOPTIONSPGPORTPGUSERデフォルトの接続パラメータです。環境変数を参照してください)。注釈pg_dumpallは、内部でpg_dumpを呼び出すので、診断メッセージの一部ではpg_dumpを参照しています。オプティマイザが正確な統計情報を使用できるように、リストア後は、リストアしたテーブルそれぞれに対してANALYZEを実行することを勧めます。-zを実行すると、全てのデータベースを解析することができます。pg_dumpallでは、必要なテーブル空間用のディレクトリがリストア前に存在していることを要求します。存在しないと、デフォルト以外の場所にあるデータベースに関して、そのデータベース生成が失敗します。全てのデータベースを書き出す場合、以下のようにします。db.out上記のファイルからデータベースを読み込む場合、以下のようにします。postgres(ここではどのデータベースに接続するかということは重要ではありません。pg_dumpallが作成するスクリプトファイルには、保存されたデータベースの作成および接続のためのコマンドが含まれているからです。発生し得るエラーの原因については、pg_dumpを参照してください。pg_isready。