"Elena Camossi" <elena.camossi@gmail.com> writes:
> Hi list,
>
> what is the default implementation for GiST index? B-Tree or R-Tree?
> That is, if i execute the following SQL command:
>
> CREATE index ON table USING Gist (column)
>
> what is the type of the index that is actually built?
uhm, GIST. GIST is a particular type of index just like btree.
What are you actually trying to do? Do you have a particular problem you're
trying to solve?
> How can I specify in SQL one of the two implementations provided (e.g.
> R-Tree)?
R-Tree indexes don't exist in Postgres any more. GIST indexes are very similar
only more general. They handle 2D geometric data types like RTree did
previously as well as n-dimensional data types and other more exotic things
like intarrays and full text search.
There are different "kinds" of GIST indexes which you can specify by
specifying an operator class with you define the index. But most data types
only have a single operator class available to them so that's probably not
what you need unless you're trying to do something unusual.
An "operator class" defines a set of operators which can be optimized by an
index organized the same way and usually correspond to a particular
interpretation of the data type.
--
Gregory Stark
EnterpriseDB http://www.enterprisedb.com