SELECT結果をCSV出力する方法

SELECT文の結果をCSVファイルへ出力する方法をご紹介します。

CSVファイル出力は、OS上でvsqlユーティリティとawkコマンドを組み合わせて行います。

構文

実行例

補足

vsqlには出力ファイルの区切り文字を指定するオプション(-F)は用意されていますが、
囲み文字を指定するオプションが用意されていません。

そのため、vsqlの-Fオプションで「”,”」のように区切り文字の前後に囲み文字も付与し、且つ、
awkコマンドを用いてvsql出力行の行頭および行末に「”」を付与しています。

なお、区切り文字にタブを使用する場合は、-Fオプションに「-F $'”\t”‘」と指定します。
「$」は、ログインシェルがbashの場合に、バックスラッシュをエスケープするフォーマットです。

参考情報

Verticaで既存環境のテーブルのDDLとデータを一括で抽出する方法
http://vertica-tech.ashisuto.co.jp/export-all-data/

SELECT結果をCSV出力する方法(その2)
http://vertica-tech.ashisuto.co.jp/csv-output2/

検証バージョンについて

この記事の内容はVertica 9.1で確認しています。