Доступ к внутренней структуре данных, хранящей пространственный индекс Postgis (PostGres GiST)

13

Мне интересно, как работают внутренние структуры данных и механизм хранения пространственного индекса GiST в Postgis. В Oracle мне нравилось показывать, как индексы SDO были «просто еще одной таблицей» и как уровни были атрибутами индексов, а bbox-ы индексированных геометрий сохранялись в виде больших двоичных объектов (которые можно было извлечь). Как Postgis хранит индексы и где?

Системные таблицы http://www.postgresql.org/docs/8.3/static/catalogs.html можно использовать для идентификации индексов, но я не знаю, как получить доступ к фактическому хранилищу (если они действительно являются таблицами)

MartinT
источник
Я нашел это: < sai.msu.su/~megera/postgres/gist/gevel/README.gevel >. Gevel должен иметь возможность визуализировать это, но я не могу заставить его работать с postgis.app (mac osx) с PostGIS 2.0.
MartinT
1
Они не "просто еще одна таблица" в PostgreSQL. Это индексные отношения с совершенно другим форматом.
Крейг Рингер
Я думаю, что Gevel это то, что есть. Так что, возможно, вам следует перефразировать ваш вопрос с проблемами, возникающими при установке gevel. Интересный вопрос, конечно.
Джон Пауэлл
Спасибо за комментарии. Крейг, я был бы рад, если бы вы напрасно ответили на то, что вы прокомментировали, но с более подробной информацией или ссылками на соответствующие материалы. Я заинтересован в том, КАК это хранится. Джон, я сделаю отдельный вопрос о молотке. Тем не менее, мне нужен указатель на документацию о том, как достигается хранилище.
MartinT
Я добавил вопрос о gevel здесь: gis.stackexchange.com/questions/180887/…
MartinT

Ответы:

2

Как упоминает Крейг, пространственные индексы - это не просто еще одна таблица. Вместо этого PostGis использует GiST в качестве структурной основы для хранения деталей bbox. Да, это (при использовании значений по умолчанию) отличается и является более эффективным и менее точным, чем B-деревья или R-деревья .... но вы можете указать параметры, которые делают индексы GiST похожими на пространственные индексы из другого хранилища.

Вот документация о том, как с ними работать (включая расширение).

Копать в.

JasonInVegas
источник