【PostgreSQL】pg_dumpで全テーブル定義作成のクエリをエクスポートする
目次
【PostgreSQL】pg_dumpで全テーブル定義作成のクエリをエクスポート
今回使用した環境
インターネット接続可能のオンラインの環境
64 ビット オペレーティング システム
Windows 10 22H2
PostgreSQL 14.4
やりたいこと
今回は、1つのDB内の全テーブル定義をエクスポートするということをやります。エクスポートの結果はSQLファイルとなります。※エクスポートの内容にDBのデータは含みません。
データを含むDBまるごとをエクスポートしたい場合、以下の記事が参考になると思います。
【PostgreSQL】pg_dumpを使用してアーカイブ形式でバックアップ後、別名データベースでリストアする
実行するコマンド
実行するコマンドは以下の通りです。
pg_dump -h [サーバ名] -U [ユーザー名] -d [DB名] --schema-only > [任意のパス]任意のパスにはSQLファイルの出力先を指定します。
DBの状態と実際に実行するコマンド
DBの状態は以下のようになっています。今回はデータベース「sampledb」の全テーブル定義をSQLファイルでエクスポートしてみます。

こちら実際に実行するコマンドです。
pg_dump -h localhost -U postgres -d sampledb --schema-only > c:\work\table-layout.sql動作確認
pg_dumpコマンドを実行するとパスワードをきいてきます。
そして、パスワードを入力してエンターキーを押すことで結果が出力されます。

そして出力された結果のSQLファイルと開くと以下のように全テーブルのCREATE TABLE文が出力されているのが確認できました。

以上となります。
ここまでお読みいただきありがとうございました。