CSV形式でクエリ結果を出力する
psqlコマンドでクエリ結果をCSV形式で出力するには以下のようにする。
psql -h ホスト名 -U ユーザ名 -d データベース名 -c "SQL" -A -F ',' > output.csv
オプションは以下の通り。
-h: ホスト名-U: ユーザ名-d: データベース名-c: 実行するSQL-A: テーブル形式で出力しない-F: フィールド区切り文字を指定する
ポイントは-Aオプションによってテーブル形式で出力しないようにし、-Fオプションでフィールド区切り文字を指定する。
TSV形式でクエリ結果を出力する
TSV形式で出力するには以下のようにする。
psql -h ホスト名 -U ユーザ名 -d データベース名 -c "SQL" -A -F $'\t' > output.tsv
ポイントはタブ文字を指定するために$'\t'としている。
SJISで出力する
CSV出力する際にSJISで出力するとExcelで開いた際に文字化けせず便利。
SJISで出力するには環境変数PGCLIENTENCODINGを指定する。
Linuxの場合。
export PGCLIENTENCODING=SJIS
Windowsの場合。
set PGCLIENT=SJIS
上記の環境変数をセットした上でpsqlコマンドを実行するとSJISで出力される。
\第一線のプログラマーの行動原理を学べる!/
