PostgreSQL 9.0+ hstore的大小限制是多少?

Wil*_*ung 6 database postgresql

作为标题,我一直在寻找一段时间而无法找到答案.它只表示键和值在8.4上时不能超过65535,但在9.0文档中根本没有提到.

Cra*_*ger 14

hstore是varlena,受TOASTed字段的最大大小限制,大约1GB.

我不建议你去任何接近这个大小的地方.表现太糟糕了.每次更新行时 - 包括带hstore字段的行- PostgreSQL都必须写入该行的新副本.毋庸置疑,用千兆字节的行不会很有趣.

如果您正在读取所有键/值,则读取性能会正常;如果您有选择地只读取几个键/值,则读取性能会很差,因为hstore必须TOAST在访问之前进行读取.

在不了解您的设计和使用案例的情况下,很难提供更具体的建议; 这问题的原因.