历史版本。 PostgreSQL 8.3 已结束支持。 请参阅 当前版本手册.
52.5. 限制 #
GIN 不支持全索引扫描:因为每个值往往对应许多键,每个堆指针会被返回多次,而没有简便的方法可以避免这一点。
当extractQuery返回零个键时,GIN会报错。根据操作符的不同,空查询可能匹配全部、部分或不匹配任何被索引值(例如,每个数组都包含空数组,但都不与空数组重叠),GIN无法确定正确答案,即使能确定全索引扫描是正确的,也无法产生全索引扫描的结果。
extractValue返回零个键并不是错误,但在这种情况下,被索引值不会在索引中有任何表示。这也是全索引扫描没有用的另一个原因—它会漏掉这样的行。
GIN 只按等值匹配来搜索键。这一点将来可能会有所改进。