Thread: Forcing GiST index to be used

Forcing GiST index to be used

From
Dave Blasby
Date:
I have a custom datatype (the PostGIS geometry type), which I have
indexed using a GiST index.

The problem is, its difficult to get PostgreSQL to actually use the GiST
index.  The only way I can get it to be used is by 'set enable_seqscan =
off', which seems a bit cheezy.  What am I missing?  Do I have to make
some sort of amcostestimate() function or something?


thanks,
dave


Re: Forcing GiST index to be used

From
Tom Lane
Date:
Dave Blasby <dblasby@refractions.net> writes:
> I have a custom datatype (the PostGIS geometry type), which I have
> indexed using a GiST index.
> The problem is, its difficult to get PostgreSQL to actually use the GiST
> index.  The only way I can get it to be used is by 'set enable_seqscan =
> off', which seems a bit cheezy.  What am I missing?  Do I have to make
> some sort of amcostestimate() function or something?

What sort of selectivity estimator (oprrest entry) do you have attached
to the indexable operator?  If there's no estimator, the default
selectivity is something like 0.5 --- way too high to cause an index to
be used.
        regards, tom lane