如何在PostgreSQL函数中使用\COPY命令

4
我想使用 \COPY 命令将表导出为 .CSV 文件。我可以作为独立命令来执行它。但是,我无法在 PostgreSQL 中的函数中嵌入相同的行。实际上,该调用应该来自 ECPG。由于我没有超级用户帐户,所以我选择了 \COPY,而不是 COPY 命令!请指导我该怎么做。
谢谢和问候, Siva.
2个回答

1

不幸的是,所有的 \ 命令都是 psql 命令。你可以运行 psql -E 来查看这些命令扩展成什么并发送到服务器,但如果你需要一个超级用户账户来运行 COPY,那么你需要一个超级用户账户来执行此操作。


它扩展为COPY TableName FROM STDIN,但我不知道如何在函数体内将CSV文件重定向到标准输入流(当然作为非超级用户)。 - Grzegorz Szpetkowski
你最好将文件复制到 /tmp 目录下,然后请求 PostgreSQL 使用 COPY FROM /tmp/your-filename 命令。 - Daniel Lyons

0
如果您正在讨论在plpgsql中使用复制,我认为这可能会有所帮助:
动态生成的表名在PostgreSQL COPY命令中

1
嗨,我想在语句中使用\COPY命令(因为我没有超级用户)。这可能吗?它不允许我在函数内部使用。请指教。 - Siva

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接