PostgreSQL13 テーブルのデータをファイルに書き出す

PostgreSQL13 テーブルのデータをファイルに書き出す

PostgreSQLで、copyを使用してテーブルのデータをファイルに書き出すまでの手順を記述してます。

環境

  • OS CentOS 7.9.2009 (Core)
  • PostgreSQL 13.1

ファイル書き出す

以下のテーブルの内容をファイルに書き出します。

copyを使うと簡単にファイルに書き出すことができます。
※PATHはPostgreSQLがあるサーバー内の絶対PATHを指定します。

copy mytest to '/tmp/mytest.txt';

実行結果

「mytest.txt」

CSVで書き出し

以下のようにして、csvで書き出すことも可能です。

copy mytest to '/tmp/mytest.csv' WITH CSV HEADER;

「mytest.csv」

ヘッダーを使用しない場合は、以下となります。

copy mytest to '/tmp/mytest.csv' CSV;

ダブルコーテーションでくくる場合は、

copy mytest to '/tmp/mytest.csv' WITH CSV HEADER FORCE QUOTE *;

とします。

TSVで書き出し

以下のようにすると、tsvで書き出すことも可能です。

copy mytest to '/tmp/mytest.tsv' CSV DELIMITER E'\t' HEADER;

「mytest.tsv」