Гид по технологиям

Установка PostGIS на Debian 10

• 4 min read • Инструкции • Обновлено 23 Nov 2025
Установка PostGIS на Debian 10
Установка PostGIS на Debian 10

Логотип PostGIS и PostgreSQL, иллюстрация геопространственных данных

PostGIS — это расширение с открытым исходным кодом, которое добавляет в PostgreSQL поддержку объектов геоинформационных систем (ГИС). PostGIS хранит пространственные данные в типах geometry и geography и позволяет выполнять вычисления площади, расстояний, длины и периметра, а также строить пространственные индексы. Он оптимизирован для лёгких геометрий и помогает эффективнее использовать оперативную память при обработке больших объёмов геоданных.

Требования

  • Сервер с Debian 10.
  • Доступ root или пользователь с правами sudo.

Начало работы

Перед установкой рекомендуется обновить пакетную базу и пакеты до актуальных версий:

apt-get update -y
apt-get upgrade -y

После обновления перезагрузите систему, чтобы все обновления вступили в силу.

Установка PostgreSQL

Сначала добавим официальный репозиторий PostgreSQL и его GPG-ключ. Установите gnupg2 и добавьте ключ:

apt-get install gnupg2 -y
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add -

Добавьте репозиторий PostgreSQL для вашей версии Debian:

echo "deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main" | tee /etc/apt/sources.list.d/pgdg.list

Обновите индекс пакетов и установите PostgreSQL 11:

apt-get update -y
apt-get install postgresql-11 -y

Проверьте статус сервиса PostgreSQL:

systemctl status postgresql

Вы должны увидеть подобный вывод:

? postgresql.service - PostgreSQL RDBMS
   Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled)
   Active: active (exited) since Sun 2020-04-12 04:58:43 UTC; 15s ago
 Main PID: 2665 (code=exited, status=0/SUCCESS)
    Tasks: 0 (limit: 2359)
   Memory: 0B
   CGroup: /system.slice/postgresql.service

Apr 12 04:58:43 debian10 systemd[1]: Starting PostgreSQL RDBMS...
Apr 12 04:58:43 debian10 systemd[1]: Started PostgreSQL RDBMS.

Если сервис активен, переходите к установке PostGIS.

Установка PostGIS

Установите пакеты PostGIS для PostgreSQL 11:

apt-get install postgis postgresql-11-postgis-2.5 -y

После установки пакетов можно активировать расширение в конкретной базе данных.

Активировать PostGIS в PostgreSQL

Создайте пользователя и базу данных, затем включите расширение PostGIS.

Переключитесь на системного пользователя postgres:

su - postgres

Создайте пользователя и базу данных:

postgres@debian10:~$ createuser postgisuser
postgres@debian10:~$ createdb postgis_db -O postgisuser

Подключитесь к только что созданной базе:

postgres@debian10:~$ psql -d postgis_db

Вы увидите приглашение psql, например:

psql (12.2 (Debian 12.2-2.pgdg100+1), server 11.7 (Debian 11.7-0+deb10u1))
Type "help" for help.

Включите расширение PostGIS:

postgis_db=# CREATE EXTENSION postgis;

Проверьте версию PostGIS:

postgis_db=# SELECT PostGIS_version();

Ожидаемый ответ может выглядеть так:

            postgis_version            
---------------------------------------
 2.5 USE_GEOS=1 USE_PROJ=1 USE_STATS=1
(1 row)

Выйдите из psql и из-под пользователя postgres:

postgis_db=# \q
postgres@debian10:~$ exit

Оптимизация PostgreSQL для PostGIS

PostGIS хранит и обрабатывает большие объёмы бинарных геометрий, поэтому стандартные настройки PostgreSQL часто требуют корректировки.

Откройте конфигурационный файл:

nano /etc/postgresql/11/main/postgresql.conf

Рекомендуемые параметры (подберите значения под объём ОЗУ и нагрузку):

# Это значение обычно около 75% ОЗУ для сервера, посвящённого БД.
shared_buffers = 1500M
# Позволяет кешировать больше данных при сортировках.
work_mem = 64MB
# Количество сегментов контрольной точки для уменьшения I/O.
checkpoint_segments = 6
# Оценка стоимости случайной страницы по сравнению с последовательной.
random_page_cost = 2.0

Совет: если база данных не единственная нагрузка на сервер, выделяйте ОЗУ консервативнее. После правок перезапустите сервис:

systemctl restart postgresql

Критерии приёмки

  • PostGIS установлен на сервере и доступен в пакетах.
  • Расширение postgis успешно создано в целевой базе данных.
  • Команда SELECT PostGIS_version() возвращает версию.
  • Сервер PostgreSQL работает стабильно после перезапуска.

Чеклист для ролей

  • Администратор сервера:

    • Обновил систему и перезагрузил сервер.
    • Добавил репозиторий PostgreSQL и GPG-ключ.
    • Установил пакеты PostgreSQL и PostGIS.
  • DBA:

    • Создал пользователя и базу данных.
    • Активировал расширение postgis.
    • Выполнил тест запроса SELECT PostGIS_version().
  • DevOps/разработчик приложения:

    • Протестировал подключение из приложения.
    • Проверил производительность запросов с индексами GiST/BRIN.

Мини-методология развертывания

  1. Подготовка ОС: обновление, установка зависимостей (gnupg2).
  2. Добавление официального репозитория PostgreSQL и ключа.
  3. Установка PostgreSQL нужной версии.
  4. Установка пакетов PostGIS для этой версии PostgreSQL.
  5. Создание БД и включение расширения postgis.
  6. Базовая оптимизация конфигурации и перезапуск сервиса.
  7. Тестирование функциональности и приемочные проверки.

Когда PostGIS может не подойти

  • Если нужна лёгкая геометрика только для отображения карты на клиенте и нет серверной гео-аналитики — проще использовать геофункции на прикладном уровне или геокодинг в сторонних сервисах.
  • Для очень больших растровых данных может быть выгоднее хранить файлы в специализированных форматах (GeoTIFF) и использовать связку с растровыми движками.

Краткий словарь

  • PostGIS — расширение PostgreSQL для пространственных данных.
  • geometry — тип для планарных геометрий.
  • geography — тип для геоданных на сфере (широта/долгота).
  • GiST — деревья индексации, часто используются для пространственных индексов.

Заключение

Вы успешно установили PostGIS на Debian 10 и активировали расширение в базе данных. После базовой оптимизации PostgreSQL вы получите более предсказуемую производительность при работе с геоданными. Для углублённой настройки изучите документацию PostGIS и рассматривайте настройку параметров в зависимости от объёма данных и нагрузки.

Важно: перед применением любых изменений в production-токене протестируйте конфигурацию на тестовой среде и сделайте резервные копии данных.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро