Posted at

特定の条件のものだけ抽出してテーブルを再作成する

More than 3 years have passed since last update.

yusukeさんのデータだけデータベースからすべて取り出して、新しいテーブルyus_pointを作成したい、と思ったときにする方法。

hogedb=> \copy (SELECT * FROM device_point WHERE user_id = 1) TO '/tmp/yus_point';

こうするとyus_pointという標準入力(stdin)が生成される。

これの中身の先頭に、

COPY "sample_table" FROM stdin;

最後に、

\.

を追加してやるとpsqlで読み込めるようになる。

そして、

psql sample_database < yus_point

リストアしてやればok。