Articles

コピー

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;

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です