コピー
Tweet
コピーとは
Postgresには、データを移動するための素晴らしいユーティリティがいくつか付属しています。 もちろん、データベースのバックアップとリストアのための pg_dump と pg_restore は明白なものです。 あまり話題になっていませんが、同じように価値のある同様のユーティリティがPostgresのcopyユーティリティです。 コピーは、データベースのテーブルにデータをコピーしたり、テーブルからデータをコピーしたりすることができます。
- バイナリ
- タブ区切り
- csv 区切り
テストのための一括データ読み込み、軽量の ETL、または単にデータを抽出して誰かに送信するかどうかにかかわらず、すべての開発者がいずれかの時点で利用したいと思うユーティリティーです。
コピーの例
すべての従業員をタブ区切りのファイルに抽出する:
\copy (SELECT * FROM employees) TO '~/employees.tsv';
すべての従業員を csv 区切りのファイルに抽出する。
\copy (SELECT * FROM employees) TO '~/employees.csv' WITH (FORMAT CSV);
すべての従業員をバイナリファイルに抽出します(Binaryという単語を引用符で囲むことに注意してください)。
\copy (SELECT * FROM employees) TO '~/employees.dat' WITH (FORMAT "Binary");
そして、データをテーブルにロードするには、上記のそれぞれに相当するものがあります:
\copy employees FROM '~/employees.tsv';\copy employees FROM '~/employees.csv' WITH CSV;\copy employees FROM '~/employees.dat' WITH BINARY;