On Fri, Jun 14, 2013 at 06:28:06PM -0400, Alvaro Herrera wrote:
> Partial indexes are not supported; since an index is concerned with minimum and
> maximum values of the involved columns across all the pages in the table, it
> doesn't make sense to exclude values.
It can make sense if the predicate references a column other than the indexed
column(s). Unlike a partial btree index, a partial minmax index would be no
smaller. It could have narrower min-max spreads, reducing the recheck work
done by queries.
> Another way to see "partial" indexes
> here would be those that only considered some pages in the table instead of all
> of them; but this would be difficult to implement and manage and, most likely,
> pointless.
That's a distinct feature from the AM-independent partial index mechanism, in
any event.
> Expressional indexes can probably be supported in the future, but we disallow
> them initially for conceptual simplicity.
Whether an index column uses an expression is irrelevant to each existing core
AM. How does minmax differ in this respect?
Thanks,
nm
--
Noah Misch
EnterpriseDB http://www.enterprisedb.com