Me gustaría crear un índice para la base de datos PostGIS en Postgresql.
Esta es mi tabla (simplificada):
CREATE EXTENSION postgis;
CREATE EXTENSION btree_gist;
CREATE TABLE table1 (id int, data boolean);
SELECT AddGeometryColumn('table1', 'geom', 900913, 'linestring', 2);
Cuando creo el índice:
CREATE INDEX index1 ON table1 USING gist(data, geom);
falló con un mensaje de error:
ERROR: data type boolean has no default operator class for access method "gist"
HINT: You must specify an operator class for the index or define a default operator class for the data type.
El problema es que btree_gist no soporta boolean
tipo. Sí funcionó con otros tipos como int
.
Pero no puedo cambiar el tipo de boolean
a int
porque lo anterior está simplificado. En mi problema original, lo que quiero es un índice sobre la expresión y no puedo modificar la expresión (generada por el programa).