Accès à la structure de données interne stockant l'index spatial Postgis (PostGres GiST)

13

Je suis curieux de savoir comment les structures de données internes et le mécanisme de stockage de l'index spatial GiST dans Postgis. Dans Oracle, j'aimais montrer comment les index SDO n'étaient "qu'une autre table", et comment les niveaux étaient des attributs des index, et les bboxes des géométries indexées étaient stockées sous forme de blobs (qui pouvaient être extraits). Comment postgis stocke-t-il les index et où?

Les tables système http://www.postgresql.org/docs/8.3/static/catalogs.html peuvent être utilisées pour identifier les index, mais je ne sais pas comment accéder au stockage réel (s'il s'agit bien de tables)

MartinT
la source
J'ai trouvé ceci: < sai.msu.su/~megera/postgres/gist/gevel/README.gevel >. Gevel devrait pouvoir visualiser cela, mais je ne parviens pas à le faire fonctionner avec postgis.app (mac osx) avec PostGIS 2.0.
MartinT
1
Ils ne sont pas "juste une autre table" dans PostgreSQL. Ce sont des relations d'index avec un format complètement différent.
Craig Ringer
Je pense que le gevel est ce qu'il y a. Donc, peut-être, vous devriez reformuler votre question avec les problèmes que vous rencontrez lors de l'installation de gevel. Question intéressante, bien sûr.
John Powell
Merci pour les commentaires. Craig, je voterais favorablement si vous fournissiez une réponse en vain de ce que vous avez commenté, mais avec plus de détails ou des liens vers les documents pertinents. Je suis intéressé par la façon dont cela est stocké. John, je vais poser une question distincte sur le marteau. Pourtant, un pointeur vers la documentation sur la façon dont le stockage est réalisé est ce que je recherche.
MartinT
J'ai ajouté une question sur gevel ici: gis.stackexchange.com/questions/180887/…
MartinT

Réponses:

2

Comme Craig le mentionne, les indices spatiaux ne sont pas simplement une autre table. Au lieu de cela, PostGis utilise GiST comme base structurelle pour stocker les détails de la bbox. Oui, cela est (lors de l'utilisation des valeurs par défaut) différent et plus efficace et moins précis que les B-Trees ou R-Trees .... mais vous pouvez spécifier des paramètres qui rendent les index GiST similaires aux index spatiaux des autres stockages.

Voici la documentation sur la façon de travailler avec eux (y compris leur extension.)

Creusez.

JasonInVegas
la source