"Merlin Moncure" <merlin.moncure@rcsonline.com> writes:
>> You're mistaken, at least with regard to btree indexes.
> hmm. I tried several different ways to filter/extract null values from
> an indexed key and got a seq scan every time.
I said they were stored, not that you could query against them ;-)
IS NULL isn't considered an indexable operator, mainly because it's
not an operator at all in the strict sense of the word; and our index
access APIs only support querying on indexable operators.
The reason they're stored is that they have to be in order to make
multi-column indexes work right. I suppose we could special-case
single-column indexes, but we don't. In any case, it's more likely
that someone would one day get around to making IS NULL an indexable
operator than that we'd insert a special case like that.
regards, tom lane