Postgis tuning

Bueno cómo el título lo indica les voy a enseñar a tunear un poco las consultas, sobre todo porque si no lo hacen las consultas que se usan en este post, serán muy lentas.
Primero, creamos un índice en la tabla:

CREATE INDEX regiones_index on regiones USING GIST (the_geom);

Luego podemos usar un cluster para ordenar los datos y acelerar un poco mas la cosa:

CLUSTER regiones_index on regiones;

Ahora nos aseguramos que no haya conversiones de de dimensiones:

UPDATE regiones SET the_geom = ST_Force_2d(the_geom);

Hacemos el glorioso vacuum:

VACUUM FULL ANALYZE regiones;

Y con eso ya nuestros selects deberían “despeinar”.

SET work_mem TO 1200000;
Es recomendable aumentar el shared_buffers en el postgresql.conf a un tercio de la memoria ram. Además si están trabajando con versiones de postgres anteriores a la 8.4 les recomiendo que activen constraint_exclusion = on.

Esto en cuanto a lo que a gis se refiere, después pueden leer cualquier tunning de postgres donde le recomendarán cosas como poner el xlog en otra partición, etc.

Espero les sirva.