PostgreSQL でデリミタをタブにしてインポート・エクスポートをするコマンド
エクスポート
psql -h host_name -U user_name db_name -c "SELECT * FROM table_name WHERE condition;" -AF $'\t' --no-align > file_name.tsv
SQLの実行結果に絞ってエクスポートできます。
CSV のようにタブ区切りになりますが、 実際は CSV ではなく SQL の実行結果です。
インポート
psql -h host_name -U user_name db_name -c "\copy table_name FROM 'file_name.tsv' DELIMITER E'\t' CSV HEADER"
COPY でファイルから読み込むことはスーパーユーザにしかできません。 \copy を使います。
HEADER は1行目がヘッダであることを示します。 インポートするときは1行目をヘッダとしてインポートの対象から除きます。