ablog

不器用で落着きのない技術者のメモ

psql でクエリの結果セットをファイルに出力する

psql でクエリの結果セットをファイルに出力したい場合、psqlコマンドラインで -o オプションで指定することもできるが、SQL スクリプト内でクエリ単位で出力ファイルを分けたい場合は \o オプションが使える。

書式
\o <file path>
query text
実装例
-- SVL_QUERY_METRICS
\o csv/:query_id/SVL_QUERY_METRICS.csv
select * from SVL_QUERY_METRICS where query = :query_id order by query;

-- STL_WLM_QUERY
\o csv/:query_id/STL_WLM_QUERY.csv
select * from STL_WLM_QUERY where query = :query_id order by service_class;

参考

-o filename
--output=filename
Put all query output into file filename. This is equivalent to the command \o.

PostgreSQL: Documentation: 17: psql