Właśnie miałem ten sam problem na Ubuntu Server 14.04. Zainstalowałem postgis
rozszerzenie z oficjalnych repozytoriów Ubuntu za pomocą apt-get install postgis
.
Wtedy find /usr -name postgis.control
nie zwrócił żadnych wyników.
Powód extension/postgis.control
nie został zainstalowany, ponieważ nie zainstalowano skryptów postgis.
$ 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
Rozwiązaniem jest jego instalacja.
W dystrybucjach podobnych do Debiana:
apt-get install postgis*
Menedżer pakietów aptitude automatycznie określi poprawne wersje pakietów do zainstalowania. Postgis-doc również zostanie zainstalowany.
EDYTOWAĆ
Jak niektórzy zauważyli w komentarzach, postgis*
nie jest to wymagane, ponieważ instaluje niektóre pakiety, które nie są absolutnie wymagane, aby po prostu uruchomić.
Wymagane pakiety to postgis
i postgresql-9.x-postgis-scripts
pakiety meta. Wybierają poprawną prawdziwą wersję dla twojego systemu. Tak więc komendy instalowania wymaganych pakietów to
$ sudo apt-get install postgis postgresql-9.3-postgis-scripts
dla postgresql-9.3
. Ubuntu 16.04
działa, postgresql-9.5
więc polecenie staje się:
$ sudo apt-get install postgis postgresql-9.5-postgis-scripts
Możesz sprawdzić powodzenie operacji, uruchamiając następujące polecenie:
find /usr -name postgis.control
Na moim serwerze zwraca teraz:
/usr/share/postgresql/9.3/extension/postgis.control
Możesz teraz włączyć rozszerzenie w dowolnej bazie danych na serwerze Postgres:
- połącz się z db za pomocą superużytkownika (domyślnie postgres)
- biegać
CREATE EXTENSION postgis;
Twój schemat publiczny zawiera teraz wszystkie obiekty i funkcje Postgis.