PostgreSQLでCOPYコマンドを活用した高速データ操作ガイド

PostgreSQL

PostgreSQLは、大量データの読み込みや書き出しに便利なCOPYコマンドを提供しています。この記事では、ファイルとテーブル間で高速にデータをやり取りする方法を具体例とともに解説します。

COPYコマンドとは

PostgreSQLのCOPYコマンドは、テーブルと外部ファイル間でデータを直接読み書きする機能です。通常のINSERT文よりも高速にデータを扱えるのが特徴です。

基本的な構文は以下の通りです。

COPY table_name FROM ‘file_path’ WITH (FORMAT csv);

ファイルからテーブルへのデータ読み込み

CSVファイルをテーブルにインポートする場合、以下のように記述します。

COPY employees FROM ‘/path/to/employees.csv’ WITH (FORMAT csv, HEADER true);

このコマンドでは、ヘッダー行を無視してデータだけを取り込む設定も可能です。大規模データでも高速に読み込むことができます。

テーブルからファイルへのデータ書き出し

逆に、テーブルのデータを外部ファイルに書き出すこともできます。

COPY employees TO ‘/path/to/output.csv’ WITH (FORMAT csv, HEADER true);

これにより、バックアップや他システムとのデータ連携が容易になります。

注意点と便利なオプション

COPYコマンドを使用する際は、ファイルパスや権限に注意が必要です。PostgreSQLサーバーがファイルにアクセスできる必要があります。

また、区切り文字やNULL表現を指定することで、より柔軟にデータを取り扱えます。

COPY employees FROM ‘/path/to/employees.csv’ WITH (FORMAT csv, DELIMITER ‘;’, NULL ‘NULL’, HEADER true);

まとめ: COPYコマンドで効率的なデータ操作を実現

PostgreSQLのCOPYコマンドを活用すれば、ファイルとテーブル間のデータやり取りが高速かつ効率的に行えます。大規模データの取り扱いやデータ移行、バックアップにも最適です。

まずは基本的な構文を理解し、読み込み・書き出しの両方で試してみることをおすすめします。

コメント

タイトルとURLをコピーしました