【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文が出力されているのが確認できました。


以上となります。

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

PostgreSQL

Posted by だゆう