在postgreSQL中将输出写入文件?

时间:2013-07-11 23:37:20

标签: sql postgresql postgresql-9.1

我需要在postgres中将表列打印到文本文件中,只需要一个简单的SELECT“column_name”FROM“table”。我很确定有办法做到这一点,但我不记得语法。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:3)

使用COPY

如果需要复制整个表,可以指定表名:

COPY country TO '/usr1/proj/bray/sql/country_data';

您还可以复制查询结果:

COPY (SELECT column_name FROM country WHERE country_name LIKE 'A%')
TO   '/usr1/proj/bray/sql/a_list_countries.copy';

相同的语法可用于导入表:

COPY country FROM '/usr1/proj/bray/sql/country_data';

可以指定其他选项,例如分隔符,格式等。在我的日常工作中,我经常使用:

COPY country TO '/usr1/proj/bray/sql/country_data' DELIMITER ',' CSV;

有关COPY语句的完整说明,请参阅上面的链接文档页面。