PostgreSQL导出表.csv作为当前日期

PostgreSQL导出表.csv作为当前日期,postgresql,Postgresql,我需要将表导出为.csv文件,但名称必须是当前日期 目前我正在使用 COPY public."table" TO 'E:\job.csv' DELIMITER ',' CSV HEADER 我该怎么办?我试图寻找答案,但没有任何运气 您始终可以运行动态SQL DO $func$ BEGIN EXECUTE $$ COPY public."table" TO 'E:\job_$$ || to_char(CURRENT_DATE, 'YYYY_MM_DD') || $$.csv' DE

我需要将表导出为.csv文件,但名称必须是当前日期

目前我正在使用

COPY public."table" TO 'E:\job.csv' DELIMITER ',' CSV HEADER

我该怎么办?我试图寻找答案,但没有任何运气

您始终可以运行动态SQL

DO $func$
BEGIN
  EXECUTE $$
    COPY public."table" TO 'E:\job_$$ || to_char(CURRENT_DATE, 'YYYY_MM_DD') || $$.csv' DELIMITER ',' CSV HEADER;
  $$;
END;
$func$ LANGUAGE plpgsql;
因此,您将命令形成一个字符串,然后将其传递给EXECUTE。这与plpgsql一样工作,您可以内联运行(如我所示),也可以声明为函数:

CREATE OR REPLACE FUNCTION public.export_table()
RETURNS VOID AS $func$
BEGIN
  EXECUTE $$
    COPY public."table" TO 'E:\job_$$ || to_char(CURRENT_DATE, 'YYYY_MM_DD') || $$.csv' DELIMITER ',' CSV HEADER;
  $$;
END;
$func$ LANGUAGE plpgsql;
然后使用SELECT public.export_表调用它