PostgreSQL уже поддерживает пространственные типы данных, операторы и индексацию.
Что именно предоставляет PostGIS, что делает необходимым существование в качестве расширения PostgreSQL?
Почему бы нам всем не использовать пространственную функциональность PostgreSQL?
Ответы:
Если вы перемотали вселенную в начале 2001 года и не только позволили изобретателям PostGIS увидеть будущее, но и позволили PSC PgSQL увидеть будущее, возможно, PostGIS будет серией исправлений для PgSQL. Но, как минимум, если бы мы начинали как патчи с ядра, первое, с чем мы столкнулись бы, это:
И ядро PgSQL сказал бы: «Нет, конечно, нет, у областей есть хорошо понятая семантика, и мы не можем делать такие несовместимые изменения в обратном направлении».
Как неосновные разработчики, PostGIS смогла выбивать ежемесячные и 6-месячные выпуски в течение ряда лет, в то время как ядро PgSQL тянулось вместе с ежегодными и более длинными выпусками. Мы также могли добавлять любые функции, которые хотели, в любое время, поскольку у нас были права на коммит в нашем проекте, но получение прав на коммит в PgSQL занимает очень много времени.
К тому времени, когда PostGIS демонстрировал достаточно внешнюю ценность, чтобы ядро PgSQL просматривало и говорило себе «да, это было бы неплохо иметь в ядре в качестве дополнительной функции», уже было так много кода такого другого стандарта и стиля. PgSQL (не говоря уже о несовместимой лицензии), что идея объединения не была действительно возможна.
Вместо этого PostGIS стал каноническим примером действительно большого комплексного расширения, которое помогает PgSQL оставаться модульным и расширяемым. «Как это повлияет на PostGIS?» - часто задаваемый вопрос, поскольку ядро PgSQL оценивает некоторые изменения. Это также хорошая вещь, возможно, не такая хорошая, как PostGIS, являющаяся частью ядра, но достаточно хорошая.
Есть и другие причины, такие как длинный список зависимостей, которые ядро PgSQL не хотело бы видеть, как правило, более низкая согласованность кода и чистота API, которые они отчаянно хотели бы улучшить, и так далее. Даже в момент зачатия PostGIS был слишком большим шаром для PgSQL, чтобы его можно было проглотить за один раз.
источник
Это просто неправда, PostgreSQL не поддерживает пространственные типы данных. Поддерживает геометрические типы. Они отлично подходят для некоторых вещей, но они полностью отделены от систем координат реального мира. Родные типы
Обновить
Что касается вопроса об индексе, это в FAQ
источник
Список возможностей PostGIS также расширяет эти возможности:
Кроме того, к точкам / частям, упомянутым уже в этом посте. Я хотел бы добавить, как упоминалось на сайте PostGIS, как это работает
источник