Я установил PostgreSQL 9.x и PostGIS 1.5 / 2.0 несколько раз, и у меня никогда не было этой проблемы.
Я только что установил новый сервер CentOS 6.3, и у меня работает Postgres 9.3, как и ожидалось. Я бегал
yum install postgis2_93
и я могу видеть файлы в
/usr/pgsql-9.3/share/contrib/
однако, когда я бегу
CREATE EXTENSION postgis;
я получил
ERROR: could not open extension control file "/usr/pgsql-9.3/share/extension/postgis.control": No such file or directory
Учебники ( # 1 , # 2 ), которые я использовал, не показывают никаких шагов между установкой PostGIS и созданием расширения.
Чего мне не хватает?
postgresql
postgis-2.0
centos
losthorse
источник
источник
find /usr -name postgis.control
и его нет. Я могу видеть некоторые файлы в share / contrib; Тем не менее, postgis.control не входит в их число ... что вы предлагаете мне сделать? ждать исправления, сделать свое собственное, что-то еще?postgis-2.1.so
присутствует/lib
ли это, значит, я могу просто создать свой собственный файл postgis.control?Ответы:
Если вам удастся найти файл postgis.sql, вы можете запустить его в своей базе данных (и в файлеatial_ref_sys.sql), чтобы вручную разместить вашу базу данных. Сообщите об отсутствующем контрольном файле упаковщику, это большая проблема.
источник
У меня просто была такая же проблема на Ubuntu Server 14.04. Я установил
postgis
расширение из официальных репозиториев Ubuntu, используяapt-get install postgis
.Тогда
find /usr -name postgis.control
не вернул никаких результатов.Причина не
extension/postgis.control
была установлена, потому что постгис-скрипты не были установлены.Решение состоит в том, чтобы установить это.
На Debian-подобных дистрибутивах:
Менеджер пакетов aptitude автоматически определит правильные версии пакетов для установки. Postgis-doc также будет установлен.
Вы можете проверить успешность операции, выполнив следующую команду:
На моем сервере он теперь возвращает:
Теперь вы можете включить расширение в любой базе данных на вашем сервере postgres:
CREATE EXTENSION postgis;
Ваша общедоступная схема теперь содержит все объекты и функции Postgis.
источник
В Ubuntu 14.04 вам также нужно установить
postgresql-9.3-postgis-scripts
пакет. После того как я побежалЯ тогда смог успешно запустить
в моей базе данных для инициализации PostGIS.
источник
У меня была такая же проблема, я просто запустил команду
Я использовал Ubuntu 18.04
источник
Другим источником, который вызвал проблему, может быть отсутствующий пакет PostGIS, это можно определить в меню установки или в вашем случае впоследствии. Таким образом, откройте открытые окна, перейдите в PostgreSQL и запустите Application Stack Builder . Затем выберите PostgreSQL, с этим загружаются возможные приложения. Для комплекта PostGIS вам просто нужно установить расширение, подходящее для вашей операционной системы (32- или 64-битную), просто напрямую в Spatial Extensions .
Ведь вот рекомендуемые шаги:
Теперь вы можете добавить расширение с помощью
CREATE EXTENSION postgis;
вашего SQL-запроса.источник
Я столкнулся с той же проблемой, думаю, проблема в том, что пакет postgis2_93 не установлен в ожидаемом месте, как и ожидал postgresql. Вы можете попробовать использовать другой репо, который может дать вам правильное место. Или вы можете искать, чтобы добавить расширения вручную, указав место. В моем случае файл находится в /usr/pgsql-9.4/
источник
У меня был худший кошмар при установке Postgis 2.X на SLES 12 SP1. который не имеет совместимого пакета в репозитории Zypper
Вот как это решается на моем экземпляре сервера Postgres под управлением 9.4.X
Prerequsite пакеты, которые я установил до PostGis на основе ошибок
Установка Postgis
Загрузить исходный код postgis ( http://download.osgeo.org/postgis/source/postgis-2.3.0rc1.tar.gz )
Перейдите в папку Post gis ./configure --with-pgconfig = / usr / lib / postgresql94 / bin / pg_config --with-geosconfig = / usr / local / bin / geos-config make make install
теперь, если вы идете в postgress и создаете расширение postgis; будет работать
Важно, чтобы при настройке вы указали путь pg-config и geosconfig, и вы НЕ ДОЛЖНЫ включать «без растра», так как RASTER играет главную роль в создании расширения postgis
источник
Для Ubuntu 16.04 выполните эту команду:
sudo apt-get install postgis postgresql-9.6-postgis-2.3-scripts
обратите внимание, что вы должны указать свой номер версии для postgresql (9.6 в моем случае) и postgis (2.3 в моем случае).
источник
Если вы используете brew, удалите PostGIS и переустановите его. Это создаст файлы расширения.
источник
brew ls --verbose postgis
В некоторых дистрибутивах расширения упаковываются в пакет postgresql-contrib. Это, безусловно, верно для RedHat / CenOS, где расширения находятся в postgresql-contrib, где xx - номера magor и вспомогательных выпусков без полных остановок (postgresql95-contrib для postgres 9.5).
источник
Для меня, используя Fedora 25 и pg 9.5, это сработало, когда я сделал следующие изменения:
Установить пакет yum postgis
$ yum установить postgis2_95
Загрузите пакет .deb сценариев Postgis
Извлеките его и скопируйте каталоги 'contrib' и 'extension' в распакованном файле usr / share / postgresql / 9.5 по тому же пути в вашем pgsql (возможно, изменив права доступа на).
Перезагрузите сервер
источник
В моем случае (Linux Mint 18.1 Serena) мне пришлось удалить
posgresql-9.5
иpostgis
заново установить из репозитория по умолчанию.И установите версию 9.6 из репозитория PosgreSQL :
Я не уверен, версия имеет какое-либо отношение к отсутствующему
postgis.control
файлу. Но я все равно хотел версию 9.6.источник