【发布时间】:2019-09-06 13:44:37
【问题描述】:
我有一个 postgresql 函数,可以创建如下所示的 csv 文件。
CREATE FUNCTION public.exportsnapshot()
RETURNS void AS $$
LANGUAGE 'plpgsql'
BEGIN
COPY (my_query) TO 'tmp/test.csv' With DELIMITER ';' CSV HEADER;
END; $BODY$;
有没有办法可以直接从 COPY 命令将 test.csv 文件插入到 bytea 列中?另外,有没有办法在保存到bd之前对其进行压缩?
【问题讨论】:
-
有什么理由不能只做
COPY FROM? -
我希望我可以在没有中间文件的情况下做到这一点。我正在尝试
COPY fileTable FROM (COPY (qurey) TO STDOUT))之类的东西,但我无法弄清楚 -
所以你想把它复制到一个文件中,然后把它放在一个表中,在一个命令中?
-
是的,我想避免在文件进入数据库后删除文件
-
insert into filetable select t::text from ( ... your query ..) t怎么样? - 这将在filetable中为your query返回的每一行创建一行以逗号分隔的值
标签: postgresql bytea postgresql-copy