Postgres 10 错误:目标列表最多可以有 1664 个条目

Posted

技术标签:

【中文标题】Postgres 10 错误:目标列表最多可以有 1664 个条目【英文标题】:Postgres 10 ERROR: target lists can have at most 1664 entries 【发布时间】:2018-05-19 07:00:00 【问题描述】:

我在 Windows 上使用 postgres10。 在我的查询中,我将结果复制到 CSV,我想要 1700 列,但我收到了这个错误:

“错误:目标列表最多可以有 1664 个条目 SQL 状态:54000”

有人知道如何解决吗?

【问题讨论】:

您似乎达到了产品的限制(它明确表示您最多可以有 1664 个条目,而您尝试拥有 1700 个条目)。这似乎不是错误。 那么,现在没有办法突破极限了吗? 检查 postgresl 的手册,看看是否有一个选项可以改变这个限制(我的意思是,配置)。我的疯狂猜测是你不能。顺便说一句,您完全确定您需要一个包含 1700 列(甚至 1664 列)的表吗?如果是,我强烈建议您审查您的设计。 您可以使用数组或字符串来获得非常接近您需要的东西。 谢谢大家。我搜索了许多文档,但得到了相同的回复:这是 postgres 的限制。和老大打交道后,我用concat_ws连接列。 【参考方案1】:

这个限制不能延长,这是正确的。

我建议您为这些值创建一个临时表并加入它。这还有一个额外的优势,您可以ANALYZE 该表以获得更好的估计。

【讨论】:

当然,这是极限。

以上是关于Postgres 10 错误:目标列表最多可以有 1664 个条目的主要内容,如果未能解决你的问题,请参考以下文章

Postgres UPDATE 使用排名窗口函数

golang postgres连接太多错误

找不到 module.js 错误 471 win 10

限制列表的对象数量 - SwiftUi

从 Postgres 中的纪元列表中获取特定时间段

在postgres中触发以锁定带有列表的表