Ich habe PostgreSQL 9.x und PostGIS 1.5 / 2.0 mehrmals installiert und hatte dieses Problem noch nie.
Ich habe gerade einen neuen CentOS 6.3-Server in Betrieb genommen und Postgres 9.3 funktioniert wie erwartet. ich bin gerannt
yum install postgis2_93
und ich kann die dateien in sehen
/usr/pgsql-9.3/share/contrib/
aber wenn ich renne
CREATE EXTENSION postgis;
ich erhalte
ERROR: could not open extension control file "/usr/pgsql-9.3/share/extension/postgis.control": No such file or directory
Die Tutorials ( # 1 , # 2 ), die ich verwendet habe, zeigen keine Schritte zwischen der Installation von PostGIS und dem Erstellen der Erweiterung.
Was vermisse ich?
postgresql
postgis-2.0
centos
Losthorse
quelle
quelle
find /usr -name postgis.control
und es ist nicht vorhanden. Ich kann einige Dateien in share / contrib sehen. postgis.control gehört jedoch nicht dazu ... was schlägst du vor, was ich tue? Warten Sie auf eine Lösung, machen Sie meine eigene, etwas anderes?postgis-2.1.so
in vorhanden ist. Bedeutet/lib
dies, dass ich nur meine eigene postgis.control-Datei erstellen kann?Antworten:
Wenn Sie eine postgis.sql-Datei finden, können Sie diese in Ihre Datenbank (und die Datei "spatial_ref_sys.sql") ausführen, um Ihre Datenbank manuell zu räumlich zu gestalten. Melden Sie die fehlende Steuerdatei dem Packager, das ist ein großes Problem.
quelle
Ich hatte gerade das gleiche Problem auf Ubuntu Server 14.04. Ich habe die
postgis
Erweiterung aus den offiziellen Ubuntu-Repositories mit installiertapt-get install postgis
.Dann gab
find /usr -name postgis.control
es keine Ergebnisse.Der Grund wurde
extension/postgis.control
nicht installiert, weil es keine Postgis-Skripte gab.Die Lösung ist, es zu installieren.
In debian-ähnlichen Distributionen:
Der aptitude Paketmanager ermittelt automatisch die richtigen zu installierenden Paketversionen. Das postgis-doc wird ebenfalls installiert.
Sie können den Erfolg der Operation überprüfen, indem Sie den folgenden Befehl ausführen:
Auf meinem Server wird jetzt Folgendes zurückgegeben:
Sie können die Erweiterung jetzt für jede Datenbank auf Ihrem Postgres-Server aktivieren:
CREATE EXTENSION postgis;
Ihr öffentliches Schema enthält jetzt alle Postgis-Objekte und -Funktionen.
quelle
In Ubuntu 14.04 müssen Sie auch das
postgresql-9.3-postgis-scripts
Paket installieren . Nachdem ich gerannt binIch konnte dann erfolgreich laufen
in meiner Datenbank, um PostGIS zu initialisieren.
quelle
Ich hatte das gleiche Problem, ich habe nur den Befehl ausgeführt
Ich habe Ubuntu 18.04 benutzt
quelle
Eine andere Quelle, die das Problem verursacht hat, könnte das fehlende PostGIS-Bundle sein. Dies kann im Installationsmenü oder in Ihrem Fall nachträglich definiert werden. Öffnen Sie dazu Windows, gehen Sie zu PostgreSQL und starten Sie den Application Stack Builder . Dann wählen Sie PostgreSQL, mit dem mögliche Anwendungen geladen werden. Für das PostGIS-Bundle müssen Sie nur die für Ihr Betriebssystem geeignete Erweiterung (32- oder 64-Bit) installieren, und zwar direkt bei Spatial Extensions .
Immerhin hier die empfohlenen Schritte:
Jetzt können Sie die Erweiterung mit
CREATE EXTENSION postgis;
in Ihre SQL-Abfrage einfügen.quelle
Ich bin auf das gleiche Problem gestoßen. Ich denke, das Problem ist, dass das Paket postgis2_93 nicht an der erwarteten Stelle installiert wird, wie es postgresql erwarten würde. Sie können versuchen, ein anderes Repo zu verwenden, wodurch Sie möglicherweise den richtigen Ort finden. Sie können auch suchen, um Erweiterungen manuell hinzuzufügen, indem Sie den Ort angeben. In meinem Fall ist die Datei in /usr/pgsql-9.4/
quelle
Ich hatte meinen schlimmsten Albtraum, als ich Postgis 2.X auf SLES 12 SP1 installiert habe. welches nicht kompatibles Paket in Zypper Repo hat
Hier ist, wie es auf meiner Postgres-Server-Instanz unter 9.4.X behoben wird
Vorausgesetzte Pakete, die ich vor PostGis aufgrund der Fehler installiert habe
Postgis installieren
Laden Sie den Quellcode von postgis herunter ( http://download.osgeo.org/postgis/source/postgis-2.3.0rc1.tar.gz )
Gehen Sie zum Post gis-Ordner ./configure --with-pgconfig = / usr / lib / postgresql94 / bin / pg_config --with-geosconfig = / usr / local / bin / geos-config make make install
Nun, wenn Sie zum Postgress gehen und eine Erweiterung für Postgis erstellen. wird funktionieren
Wichtig bei der Konfiguration sollten Sie den Pfad pg-config und den Pfad geosconfig angeben und NICHT "ohne Raster" einschließen, da RASTER bei der Erstellung der Erweiterung postgis die Hauptrolle spielt
quelle
Führen Sie unter Ubuntu 16.04 den folgenden Befehl aus:
sudo apt-get install postgis postgresql-9.6-postgis-2.3-scripts
Beachten Sie, dass Sie Ihre Versionsnummer sowohl für postgresql (9.6 in meinem Fall) als auch für postgis (2.3 in meinem Fall) angeben sollten .
quelle
Wenn Sie brew verwenden, deinstallieren Sie PostGIS und installieren Sie es erneut. Dadurch werden die Erweiterungsdateien erstellt.
quelle
brew ls --verbose postgis
Bei einigen Distributionen werden die Erweiterungen im postgresql-contrib-Paket gepackt. Dies gilt mit Sicherheit für RedHat / CenOS, wo die Erweiterungen in postgresql-contrib sind, wobei xx die Magor- und Minor-Release-Nummern ohne Punkt ist (postgresql95-contrib für postgres 9.5).
quelle
Mit Fedora 25 und Seite 9.5 hat es funktioniert, als ich die folgenden Änderungen vorgenommen habe:
Installieren Sie Ihr Postgis-Paket
$ yum installiere postgis2_95
Laden Sie das .deb-Paket für die Postgis-Skripte herunter
Extrahieren Sie es und kopieren Sie die Verzeichnisse 'contrib' und 'extension' in das entpackte Verzeichnis usr / share / postgresql / 9.5 in denselben Pfad in Ihrer pgsql (möglicherweise ändern Sie die Berechtigungen in).
Starten Sie den Server neu
quelle
In meinem Fall (Linux Mint 18.1 Serena) musste ich das Standard-Repository entfernen
posgresql-9.5
undpostgis
neu installieren.Und installieren Sie die Version 9.6 aus dem PosgreSQL-Repository :
Ich bin nicht sicher, Version hat etwas mit fehlender
postgis.control
Datei zu tun . Ich wollte aber trotzdem die 9.6 Version.quelle