Acceso a la estructura de datos interna que almacena el índice espacial de Postgis (PostGres GiST)

13

Tengo curiosidad acerca de cómo las estructuras de datos internos y el mecanismo de almacenamiento del índice espacial GiST en Postgis. En Oracle, me gustaba mostrar cómo los índices SDO eran "simplemente otra tabla", y cómo los niveles eran atributos de los índices, y los bboxes de las geometrías indexadas se almacenaban como blobs (que podían extraerse). ¿Cómo almacena Postgis los índices y dónde?

Las tablas del sistema http://www.postgresql.org/docs/8.3/static/catalogs.html se pueden usar para identificar índices, pero no sé cómo acceder al almacenamiento real (si de hecho son tablas)

MartinT
fuente
He encontrado esto: < sai.msu.su/~megera/postgres/gist/gevel/README.gevel >. Gevel debería poder visualizar esto, pero no puedo hacer que se ejecute con postgis.app (mac osx) con PostGIS 2.0.
MartinT
1
No son "simplemente otra tabla" en PostgreSQL. Son relaciones de índice con un formato completamente diferente.
Craig Ringer
Creo que gevel es lo que hay. Entonces, quizás, debería reformular su pregunta con los problemas que tiene al instalar gevel. Pregunta interesante, seguro.
John Powell
Gracias por los comentarios. Craig, votaría si proporcionaras una respuesta en vano de lo que has comentado, pero con más detalles o enlaces a los materiales relevantes. Estoy interesado en CÓMO se almacena esto. John, haré una pregunta por separado sobre el martillo. Aún así, lo que busco es un puntero a la documentación sobre cómo se logra el almacenamiento.
MartinT
He agregado una pregunta sobre gevel aquí: gis.stackexchange.com/questions/180887/…
MartinT

Respuestas:

2

Como Craig menciona, los índices espaciales no son solo otra tabla. En cambio, PostGis usa GiST como la base estructural para almacenar detalles de bbox. Sí, esto es (cuando se usan los valores predeterminados) diferentes y más eficientes y menos precisos que los árboles B o los árboles R ... pero puede especificar parámetros que hagan que los índices GiST sean similares a los índices espaciales de otro almacenamiento.

Aquí está la documentación sobre cómo trabajar con ellos (incluida su extensión).

Cavar en.

JasonInVegas
fuente