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で出力される。
\第一線のプログラマーの行動原理を学べる!/