我正在使用postgreSQL中的COPY命令将表导出到带标题的CSV文件中。即使表结果为0,它也仅使用标题创建CSV文件。仅当行数大于0时,才需要带标题的CSV文件。
答案 0 :(得分:0)
您可以通过plpgsql对其进行操作:
db=# do $$
begin
if (select count(*) from t) > 0 then
copy t to '/tmp/t' with (format csv, header);
end if;
end;
$$
;
DO
db=# \! cat /tmp/t
c
2
db=# truncate table t;
TRUNCATE TABLE
db=# \! rm /tmp/t
db=# do $$
begin
if (select count(*) from t) > 0 then
copy t to '/tmp/t' with (format csv, header);
end if;
end;
$$
;
DO
db=# \! cat /tmp/t
cat: /tmp/t: No such file or directory