postgresql - 使用逗号分隔列自定义输出文件

时间:2016-04-21 04:30:38

标签: postgresql plpgsql psql

我们正在使用postgresql 8 / psql版本8.4。我正在查询information_schema.columns的列名,并希望生成一个文本文件/输出文件,所以:

UNLOAD ('select 
col1,
col2,
col3,
col4,
col5)
to more text here

UNLOAD ( 'select col1,col2,col3,col4,col5) to more text here

所以,我基本上希望输出 colname ,然后输出"," - colname,

这可能吗?谢谢你的帮助。

1 个答案:

答案 0 :(得分:1)

这将创建一个类似的字符串:

SELECT  'UNLOAD ( ''select ' ||
        array_to_string(array_agg(column_name::text), ',') ||
        ' to more text here'
FROM    information_schema.columns
WHERE   table_schema = 'public'
AND     table_name = 'whatever'
;

您可以使用\o将其发送到文件,或使用COPY (...) TO STDOUT