PostgreSQL テーブルから特定の行を INSERT SQL スクリプトとしてエクスポートする 質問する

PostgreSQL テーブルから特定の行を INSERT SQL スクリプトとしてエクスポートする 質問する

という名前のデータベース スキーマnyummyと という名前のテーブルがありますcimory:

create table nyummy.cimory (
  id numeric(10,0) not null,
  name character varying(60) not null,
  city character varying(50) not null,
  CONSTRAINT cimory_pkey PRIMARY KEY (id)
);

テーブルのデータを、挿入 SQL スクリプト ファイルとしてエクスポートしたいのですcimoryが、都市が「tokyo」に等しいレコード/データのみをエクスポートしたいのです (都市データはすべて小文字であると想定します)。

どうやってするの?

ソリューションがフリーウェアの GUI ツールであるか、コマンド ラインであるかは関係ありません (ただし、GUI ツール ソリューションの方が優れています)。pgAdmin III を試しましたが、これを行うオプションが見つかりません。

ベストアンサー1

エクスポートするセットを含むテーブルを作成し、コマンドライン ユーティリティ pg_dump を使用してファイルにエクスポートします。

create table export_table as 
select id, name, city
from nyummy.cimory
where city = 'tokyo'
$ pg_dump --table=export_table --data-only --column-inserts my_database > data.sql

--column-inserts列名を含む挿入コマンドとしてダンプされます。

--data-onlyスキーマをダンプしないでください。

以下にコメントされているように、テーブルの代わりにビューを作成すると、新しいエクスポートが必要なときにテーブルを作成する必要がなくなります。

おすすめ記事