我有一个 PostgreSQL 表,目前非常大:340 列。该表旨在保存复杂 PDF 的样式。
随着时间的推移,我做出了一些改变:删除了一些列,添加了一些新的列等等......并且它可能仍会进一步发展。实际上我当前的需要是将列数加倍。
根据https://www.postgresql.org/docs/current/limits.html,表的上限是:
我在 Rails 应用程序中模拟了所有可能的情况来计算最大堆页,目前看起来不错,大小为 2.5KB。我的大多数列都是布尔类型(1 字节)、整数(4 字节)和双精度(8 字节)类型。还有一些特征有所不同,但数量很少。
Postgres 文档还指定:“从表中删除的列也会影响最大列限制。此外,尽管新创建的元组的删除列值在元组的空位图中内部标记为空,但空位图也占用空间”。
由于我不想使用 JSON 列,因此我不会将列数加倍,而是创建另一个表。然而,上述 340 列可能会比 340 列进一步推进。
所以这是我的问题:
postgresql ×1