Kilka razy zainstalowałem PostgreSQL 9.x i PostGIS 1.5 / 2.0 i nigdy nie miałem tego problemu.
Właśnie uruchomiłem nowy serwer CentOS 6.3 i mam Postgres 9.3 działający zgodnie z oczekiwaniami. Uciekłem
yum install postgis2_93
i widzę pliki w
/usr/pgsql-9.3/share/contrib/
jednak kiedy biegnę
CREATE EXTENSION postgis;
Otrzymałem
ERROR: could not open extension control file "/usr/pgsql-9.3/share/extension/postgis.control": No such file or directory
samouczki ( # 1 , # 2 ), których użyłem, nie pokazują żadnych kroków między instalacją PostGIS a utworzeniem rozszerzenia.
czego mi brakuje?
postgresql
postgis-2.0
centos
Losthorse
źródło
źródło
find /usr -name postgis.control
i nie ma go. Widzę niektóre pliki w share / contrib; jednak nie ma wśród nich postgis.control ... co sugerujesz, żebym zrobił? czekać na poprawkę, zrobić własną, coś jeszcze?postgis-2.1.so
jest obecny./lib
Czy to oznacza, że mogę po prostu stworzyć własny plik postgis.control?Odpowiedzi:
Jeśli możesz znaleźć plik postgis.sql, możesz uruchomić go w swojej bazie danych (i pliku spatial_ref_sys.sql), aby ręcznie spacjalizować bazę danych. Zgłoś brakujący plik kontrolny do programu pakującego, to duży problem.
źródło
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.Rozwiązaniem jest jego instalacja.
W dystrybucjach podobnych do Debiana:
Menedżer pakietów aptitude automatycznie określi poprawne wersje pakietów do zainstalowania. Postgis-doc również zostanie zainstalowany.
Możesz sprawdzić powodzenie operacji, uruchamiając następujące polecenie:
Na moim serwerze zwraca teraz:
Możesz teraz włączyć rozszerzenie w dowolnej bazie danych na serwerze Postgres:
CREATE EXTENSION postgis;
Twój schemat publiczny zawiera teraz wszystkie obiekty i funkcje Postgis.
źródło
W Ubuntu 14.04 musisz także zainstalować
postgresql-9.3-postgis-scripts
pakiet. Po tym jak pobiegłemByłem wtedy w stanie z powodzeniem uruchomić
w mojej bazie danych, aby zainicjować PostGIS.
źródło
Miałem ten sam problem, po prostu uruchomiłem polecenie
Korzystałem z Ubuntu 18.04
źródło
Innym źródłem, które spowodowało problem, może być brakujący pakiet PostGIS, który można zdefiniować w menu instalacyjnym lub w twoim przypadku później. Następnie uruchom otwarte okna, przejdź do PostgreSQL i uruchom Konstruktor stosów aplikacji . Następnie wybierz PostgreSQL, dzięki czemu możliwe aplikacje zostaną załadowane. W przypadku pakietu PostGIS wystarczy zainstalować rozszerzenie odpowiednie dla systemu operacyjnego (32- lub 64-bitowe), po prostu bezpośrednio do rozszerzeń przestrzennych .
W końcu tutaj zalecane kroki:
Teraz możesz dodać rozszerzenie
CREATE EXTENSION postgis;
w swoim zapytaniu SQL.źródło
Napotkałem ten sam problem, myślę, że problem polega na tym, że pakiet postgis2_93 nie jest zainstalowany w oczekiwanym miejscu, jak oczekiwałby postgresql. Możesz spróbować użyć innego repozytorium, które może dać ci właściwe miejsce. Możesz też ręcznie wyszukać rozszerzenia, określając miejsce. W moim przypadku plik znajduje się w /usr/pgsql-9.4/
źródło
Miałem najgorszy koszmar, instalując Postgis 2.X na SLES 12 SP1. który nie ma kompatybilnego pakietu w repozytorium zypper
Oto jak to rozwiązać w mojej instancji serwera Postgres z wersją 9.4.X
Wcześniejsze pakiety, które zainstalowałem przed PostGis na podstawie błędów
Instalowanie Postgis
Pobierz kod źródłowy Postgis ( http://download.osgeo.org/postgis/source/postgis-2.3.0rc1.tar.gz )
Przejdź do folderu Post gis ./configure --with-pgconfig = / usr / lib / postgresql94 / bin / pg_config --with-geosconfig = / usr / local / bin / geos-config make make install
teraz, jeśli masz postgress i tworzysz rozszerzenie postgis; będzie działać
Ważne podczas konfigurowania należy podać ścieżkę pg-config i ścieżkę geosconfig, a NIE WOLNO dodawać „bez rastra”, ponieważ RASTER odgrywa główną rolę w tworzeniu rozszerzenia postgis
źródło
W systemie Ubuntu 16.04 uruchom następujące polecenie:
sudo apt-get install postgis postgresql-9.6-postgis-2.3-scripts
zwróć uwagę, że powinieneś podać swój numer wersji zarówno dla postgresql (9.6 w moim przypadku), jak i postgis (2.3 w moim przypadku).
źródło
Jeśli używasz naparu, odinstaluj PostGIS i zainstaluj go ponownie. Spowoduje to utworzenie plików rozszerzeń.
źródło
brew ls --verbose postgis
W niektórych dystrybucjach rozszerzenia są pakowane w pakiet postgresql-contrib. Dotyczy to z pewnością RedHat / CenOS, gdzie rozszerzenia są w postgresql-contrib, gdzie xx to magor i drobne numery wydań bez kropek (postgresql95-contrib dla postgres 9.5).
źródło
Dla mnie, używając Fedory 25 i str. 9.5, zadziałało, gdy wprowadziłem następujące zmiany:
Zainstaluj pakiet yum postgis
$ mniam zainstalować postgis2_95
Pobierz pakiet .deb skryptów postgis
Wyodrębnij go i skopiuj katalogi „contrib” i „extension” w wyodrębnionym usr / share / postgresql / 9.5 na tę samą ścieżkę w pgsql (być może zmieniając uprawnienia na).
Uruchom ponownie serwer
źródło
W moim przypadku (Linux Mint 18.1 Serena) musiałem usunąć
posgresql-9.5
ipostgis
ponownie zainstalować z domyślnego repozytorium.I zainstaluj wersję 9.6 z repozytorium PosgreSQL :
Nie jestem pewien, wersja ma coś wspólnego z brakującym
postgis.control
plikiem. Ale i tak chciałem wersji 9.6.źródło