pg_dump
ユーティリティは、bin
ディレクトリにはPostgresと一緒に配布されています。ユーティリティは、多くのoptions as documentedを受け入れ、形式は次のとおりです。
pg_dump <options> <database-name>
が、ここで、具体的質問に答える(* nixのにシェル)コマンドプロンプトウィンドウを開き、Postgresのbin
ディレクトリに移動するには。その後、次のコマンド(Windowsの構文が示す)を発行します。
> set DB_NAME=mydatabase
> pg_dump.exe --username=postgres --schema-only %DB_NAME% >%DB_NAME%-schema.sql
をDB_NAME
環境変数は、便宜上、純粋で、そして名前は簡略化のためにインライン化することができます。
ほとんどの場合、有効なPostgresユーザーとしてOSにログインしていない可能性があるので、ほとんどの場合、スイッチが必要です。
スイッチ--schema-only
スイッチは、実際のデータなしでDDLステートメントのみが必要であることを示します。
>%DATABASE_NAME%-schema.sql
部分は、コンソールからの出力を%DATABASE_NAME%-schema.sql
というファイル(この例では "mydatabase-schema.sql")にリダイレクトします。
生成されたファイルは有効なSQLスクリプトであり、すべてのオブジェクトを再作成するために有効なクライアント経由で実行できます。ここで
が、他の有用な例のカップルです:
私は通常、接頭辞、私が使用して「* mv_」で始まるだけの関係の定義をダンプするので、mv_
でマテリアライズド・ビューを:
> pg_dump --username=postgres --schema-only --table=mv_* %DB_NAME% >%DB_NAME%-matviews.sql
複数のパターンに複数の引数を使用してください(--table=
)。
POST-DATAオブジェクトのみをスクリプト化する。インデックスは、などをトリガし、--section=post-data
> pg_dump --username=postgres --section=post-data %DB_NAME% >%DB_NAME%-post-data.sql
を使用するこれがデフォルト以外の設定を指定するには、デフォルトのホスト、ポート、認証などを想定していdocumentation
クリックバックアップ –
の「スキーマのみ」[ 'を参照してください。 pg_dump'を '--schema-only'オプション付きで実行](https://www.postgresql.org/docs/current/static/app-pgdump.html)を参照してください。 – Abelisto