PostgreSQLでテーブルの一部のデータだけエクスポート・インポート

公開日:  最終更新日:2023/04/25

PostgreSQLの一部のデータを移行する必要があった時のメモ
※タブ区切りです


DBでのインポート・エクスポート

データベースのデータを外部ファイルに出力したり、外部ファイルからデータベースに復元したりする操作です。

そのほとんどがdumpファイルで行われることが多いですが、これはほんの一部のデータをインポート・エクスポート操作したい場合に適しています。

文字コードはあまり変えるような場面はないと思いますが、特異的な使用場面のときは注意が必要です。

エクスポート

COPYコマンドでselectし、ファイル出力先を指定すれば出力します

COPY (SELECT * FROM table_name WHERE id = XXX) TO ‘/sql/xxx_dump’;


インポート

こちらもCOPYコマンドでtable指定し、入れたいカラム、入力ファイルを指定すればインポートされます。(なぜかCOPYの前に「\」が必要でした。)

\COPY table_name (id. name…) FROM ‘/sql/xxx_dump’;