У меня просто была такая же проблема на Ubuntu Server 14.04. Я установил postgis
расширение из официальных репозиториев Ubuntu, используя apt-get install postgis
.
Тогда find /usr -name postgis.control
не вернул никаких результатов.
Причина не extension/postgis.control
была установлена, потому что постгис-скрипты не были установлены.
$ aptitude search postgis
i libpostgis-java - Geographic objects support for PostgreSQL -- JDBC support
i postgis - Geographic objects support for PostgreSQL
p postgis:i386 - Geographic objects support for PostgreSQL
i postgis-doc - Geographic objects support for PostgreSQL -- documentation
i postgresql-9.3-postgis-2.1 - Geographic objects support for PostgreSQL 9.3
p postgresql-9.3-postgis-2.1:i386 - Geographic objects support for PostgreSQL 9.3
i postgresql-9.3-postgis-2.1-scripts - PostGIS for PostgreSQL 9.3 -- scripts -- dummy package
i postgresql-9.3-postgis-scripts - Geographic objects support for PostgreSQL 9.3 -- scripts
Решение состоит в том, чтобы установить это.
На Debian-подобных дистрибутивах:
apt-get install postgis*
Менеджер пакетов aptitude автоматически определит правильные версии пакетов для установки. Postgis-doc также будет установлен.
РЕДАКТИРОВАТЬ
Как некоторые люди заметили в комментариях, postgis*
это не является обязательным, поскольку оно устанавливает некоторые пакеты, которые строго не требуются, чтобы заставить его работать.
Обязательные пакеты postgis
и postgresql-9.x-postgis-scripts
метапакеты. Они выбирают правильную реальную версию для вашей системы. Таким образом, команды для установки необходимых пакетов
$ sudo apt-get install postgis postgresql-9.3-postgis-scripts
для postgresql-9.3
. Ubuntu 16.04
запускается, postgresql-9.5
поэтому команда становится:
$ sudo apt-get install postgis postgresql-9.5-postgis-scripts
Вы можете проверить успешность операции, выполнив следующую команду:
find /usr -name postgis.control
На моем сервере он теперь возвращает:
/usr/share/postgresql/9.3/extension/postgis.control
Теперь вы можете включить расширение в любой базе данных на вашем сервере postgres:
- подключиться к вашей БД с суперпользователем (postgres по умолчанию)
- бегать
CREATE EXTENSION postgis;
Ваша общедоступная схема теперь содержит все объекты и функции Postgis.