我的任务是使 postgres 表与非 postgres 表保持同步。非 postgres 表有 1600 多列。当我尝试在 postgres 中创建表时,我得到:
错误:表最多可以有 1600 列
我想知道是否可以提高最大列数。是否有我可以更改的配置变量?我是否必须使用特殊选项编译 postgres?最大列数是 1600 而不是 1700 有充分的理由吗?
我在谷歌上搜索过这个答案,所有的答案基本上都是:“你永远不应该有一张有 1600 列的表格”。
没有运行时配置选项可以让表中的列数超过 1600 列。您可以重新定义值并从源代码编译 PostgreSQL。在你的情况下,这可能比听起来更难。
快速查看源代码似乎表明列数取决于 MaxTupleAttributeNumber 和 MaxHeapAttributeNumber 的值。这些定义在src/include/access/htup_details.h.
所以你也许可以增加列数
详细信息在源代码注释中。在搜索对话框中搜索 htup_details.h。
我建议您尝试从源代码构建而不首先进行任何更改。当你能做到这一点之后,然后尝试进行上述更改。考虑深入研究源代码,以确定是否还有其他依赖项没有像这两个依赖项那样得到充分记录。
| 归档时间: |
|
| 查看次数: |
4399 次 |
| 最近记录: |