PostgreSQL — свободная объектно-реляционная система управления базами данных с открытым исходным кодом, развиваемая сообществом и поддерживающая широкий набор стандартов SQL и расширяемых механизмов. Изначально выведенная из проекта Ingres и развивавшаяся как Postgres, система известна стабильностью, поддержкой транзакций ACID, богатой системой типов данных, механизмами расширений, триггеров, хранимых процедур и репликации. PostgreSQL применяется в разнообразных приложениях от веб-сервисов до хранилищ аналитических наборов данных и обеспечивает гибкость через возможность добавления пользовательских функций и операторов.
PostGIS — расширение для PostgreSQL, добавляющее поддержку геопространственных типов данных и функций для хранения, индексирования и обработки данных о геометрии и географии. PostGIS реализует стандарты OGC (Open Geospatial Consortium) для геометрических типов, таких как POINT, LINESTRING, POLYGON, а также для географических координат с учётом сфероидальной модели Земли. В связке с PostgreSQL PostGIS превращает СУБД в полнофункциональную геоинформационную систему (ГИС), позволяя выполнять пространственные запросы, геометрические преобразования и анализы в рамках обычных SQL-запросов.
- Пространственные типы: поддержка геометрических и географических типов (POINT, LINESTRING, POLYGON, MULTI* и др.) с метаданными про систему координат (SRID).
- Пространственные индексы: поддержка R-tree поверх GiST и SP-GiST для ускорения поиска по пространственным критериям.
- OGC-совместимость: реализация набора функций и предикатов, соответствующих спецификациям OGC для пространственных операций.
- Функции геометрического анализа: пересечения, объединения, разности, буферизации, упрощения, вычисление площади, длины, расстояний и топологических отношений.
- Проекционные преобразования: преобразование координат между системами отсчёта и работа с SRID через встроенные механизмы.
- Интеграция с инструментами ГИС: совместимость с популярными клиентами и библиотеками (например, QGIS, GeoServer, GDAL) через стандартные форматы и сервисы.
- Расширяемость: возможность добавления пользовательских типов, функций и операторов, использование PL/pgSQL и других языков для процедурной логики.
- Масштабируемость и устойчивость: поддержка репликации, бэкапов, механизмов восстановления и тонкой настройки производительности для больших объёмов пространственных данных.
- Безопасность и контроль доступа: ролевое управление, контроль привилегий на уровне таблиц и схем, шифрование каналов и возможностей хранения данных.
- Применение: управление картографическими данными, аналитика мобильности, управление земельными ресурсами, экологическое моделирование, логистика и геопространственный BI.