postgis. Поддержка геоданных
Версия: 3.5.3.
В исходном дистрибутиве установлено по умолчанию: нет.
Связанные компоненты:
pgrouting.Схема размещения:
ext;topology;tiger;tiger_data.
Расширение PostGIS распространяется по лицензии GNU GPL.
Необходимые для работы библиотеки и расширения (указаны далее в «Системных требования») поставляются в составе rpm/deb-пакета расширения postgis.
Расширение PostGIS представляет собой реализацию стандарта OpenGIS на основе стандарта SQL/MM.
Для реализации требований вводятся новые типы данных:
geometry;geography;bod2d;box2df;box3d;raster;spheroid.
Добавляются также функции для работы с этими типами.
Расширение позволяет работать с геометрическими, географическими и растровыми объектами. Данные могут быть представлены в двумерной, трехмерной или четырехмерной системе координат.
Расширение pgrouting предоставляет дополнительную функциональность к PostGIS, позволяющую определять расстояние между географическими объектами.
Тип данных geography предусматривает указание SRID (Spatial Reference Identifier) системы SRS (Spatial Reference System).
Системные требования
В поставку продукта как библиотеки третьей стороны (3rd Party) добавляются расширения:
postgis;postgis_topology;postgis_sfcgal;postgis_raster;postgis_tiger_geocoder;address_standardizer;address_standardizer_data_us;pgrouting.
Для работы расширений требуются библиотеки:
- GDAL;
- PROJ;
- SFCGAL;
- cgal;
- geos.
Доработка
Доработка: Убраны инструменты Imp/Exp данных.
Версия: 4.4.0.
В СУБД Pangolin включены инструменты для работы с геоданными (Spatial).
Вводимая функциональность исключает инструменты командной строки и GUI для загрузки и выгрузки данных, в отличие от свободно распространяемой версии. Исключение связано с фактом необходимости указывать пароль пользователя в открытом виде. Загрузка и выгрузка данных в систему производится стандартным образом при работе с доверенным ресурсом.
Ограничения
Текущие ограничения расширения:
- В поставку не добавляются инструменты для загрузки или конвертации данных, а также пользовательские GIS-системы. Это связано с тем, что они используют пароли БД в открытом виде;
- В поставку не добавляется jdbc-драйвер PostGIS;
- Расширения входят в состав 3rd Party части дистрибутива.
Установка
Для начала использования расширения postgis выполните следующие действия:
-
Установите системные пакеты, необходимые для работы расширений:
- РЕД ОС, Platform V SberLinux OS Server, CentOS Stream
- Альт СП, Альт Сервер
- Аstra Linux
json-c- 0.13;libtiff- 4.0;pcre- 8.42;gmp-c++- 6.1.0.
libtiff5- 4.0;libpcre16- 8.44;libmpfr6- 4.0;libgmpxx4- 6.1.0;libjson-c5- 0.17. (для Альт Сервер 9.2 -libjson-c4)
libtiff5- 4.0;libjson-c3- 0.12;libpcre3- 8.39;libmpfr6- 4.0;libgmpxx4ldbl- 6.1.0.
-
Установите rpm/deb-пакеты расширений:
- SberLinux, РЕД ОС, CentOS
- Альт СП, Альт Сервер
- Astra Linux
sudo dnf install pangolin-postgis-{base_version}-{version_component}-{OS}.x86_64.rpm
sudo dnf install pangolin-pgrouting-{base_version}-{version_component}-{OS}.x86_64.rpmsudo apt-get install pangolin-postgis-{base_version}-{version_component}-{OS}.x86_64.rpm
sudo apt-get install pangolin-pgrouting-{base_version}-{version_component}-{OS}.x86_64.rpmsudo apt install pangolin-postgis-{base_version}-{version_component}_amd64.deb
sudo apt install pangolin-pgrouting-{base_version}-{version_component}_amd64.debГде:
{version_component}– версия поставляемого расширения;{base_version}– базовая версия продукта (текущая: 6);{OS}– наименование операционной системы и ее версия.
Пример заполненной команды:
cd distributive
tar -xzf 3rdparty/3rdparty.tar.gz -C 3rdparty/
sudo dnf install -y 3rdparty/pgroutin/pangolin-pgrouting-6-3.6.1-sberlinux9.6.x86_64.rpm
sudo dnf install -y 3rdparty/postgis/pangolin-postgis-6-3.4.2-sberlinux9.6.x86_64.rpm -
При использовании функциональности аудита на момент создания расширения рекомендуется отключить аудит (если он был включен). Иначе процесс включения расширения займет значительное время и потребует ресурсов оперативной памяти (не менее 24 ГБ). Пример команды:
ALTER ROLE current_user SET pgaudit.log='none'; -
Перезагрузите сервер:
sudo systemctl restart --force -
Подключитесь к базе данных и выполните команды по загрузке всех или только необходимых расширений:
CREATE EXTENSION postgis;
CREATE EXTENSION postgis_raster;
CREATE EXTENSION postgis_sfcgal;
CREATE EXTENSION fuzzystrmatch; -- нужно для установки postgis_tiger_geocoder
CREATE EXTENSION postgis_tiger_geocoder CASCADE;
CREATE EXTENSION postgis_topology;
CREATE EXTENSION address_standardizer;
CREATE EXTENSION address_standardizer_data_us;
CREATE EXTENSION pgrouting; -
После создания расширения включите аудит, если отключали его:
ALTER ROLE current_user RESET pgaudit.log; -
Перезагрузите сервер:
sudo systemctl reboot --force
Дополнительная информация
Процесс обновления СУБД со сторонними расширениями, в том числе с postgis и pgrouting, описан в разделе «Работа со сторонними расширениями» документа «Руководство по установке».
Отключение расширения
-
Для отключения расширения выполните:
DROP EXTENSION <extension_name> -
Удалите rpm/deb-пакеты:
- SberLinux, РЕД ОС, CentOS
- Альт СП, Альт Сервер
- Astra Linux
sudo dnf remove pangolin-postgis-{base_version}-{version_component}
sudo dnf remove pangolin-pgrouting-{base_version}-{version_component}sudo apt-get remove pangolin-postgis-{base_version}-{version_component}
sudo apt-get remove pangolin-pgrouting-{base_version}-{version_component}sudo apt remove pangolin-postgis-{base_version}-{version_component}
sudo apt remove pangolin-pgrouting-{base_version}-{version_component}
Использование расширения
С примерами использования расширения можно ознакомиться в подразделе «Сценарии использования» раздела «Поддержка геоданных PostGIS» документа «Руководство администратора».
Ссылки на документацию разработчика
Дополнительно поставляемый модуль PostGIS: https://postgis.net/docs/.