Räumlich aktivierte Postgres-Datenbank


12

Ich versuche, eine räumlich aktivierte PostGIS-Datenbank zu erstellen. Ich verfolge die PostGIS-Dokumentation unter http://postgis.net/docs/manual-1.5/ch02.html#id2648455 .

In der Kurzfassung habe ich ausgeführt,

createdb yourdatabase
createlang plpgsql yourdatabase

Aber ich habe die letzten drei Befehle nicht ausgeführt,

psql -d yourdatabase -f postgis.sql
psql -d yourdatabase -f postgis_comments.sql
psql -d yourdatabase -f spatial_ref_sys.sql

Ist meine Datenbank noch räumlich aktiviert? Wenn nicht, können Sie mir mitteilen, wo sich diese .sql-Dateien befinden, damit ich die letzten Befehle ausführen kann, da die folgende Fehlermeldung angezeigt wird:

postgis.sql: No such file or directory

Ich benutze Ubuntu 12.04


2
Um Ihre postgis.sql-Datei zu finden, führen Sie "locate postgis.sql" von bash aus (ohne die Anführungszeichen).
Kelso

Antworten:


14

Während Ihre Datenbank zu diesem Zeitpunkt technisch räumlich ist, würden Sie nur mit den eingebauten pg-Geometrietypen arbeiten.

Um Ihre Installation abzuschließen, müssen Sie die Skripte wie vorgeschlagen ausführen.

Sie finden sie in Ihrem /usr/share/postgresql/[version number]/contrib/Unterverzeichnis postgis.

Sie sollten Folgendes sehen:

legacy_minimal.sql    postgis_upgrade_20_minor.sql    spatial_ref_sys.sql
legacy.sql            raster_comments.sql             topology_comments.sql
postgis_comments.sql  rtpostgis_legacy.sql            uninstall_legacy.sql
postgis_restore.pl    rtpostgis.sql                   uninstall_postgis.sql
postgis.sql           rtpostgis_upgrade_20_minor.sql  uninstall_rtpostgis.sql

18

Wenn Sie Ubuntu 12.04 haben, sollten Sie PostgreSQL 9.1 verwenden, was die Dinge für PostGIS 2.0 großartig macht, wo Sie das neue EXTENSION-Framework verwenden können. Verwenden Sie die DDL aus einem SQL-Fenster, um eine Datenbank räumlich zu aktivieren:

CREATE EXTENSION postgis;

Weitere Informationen zum Installieren von PostGIS 2.0 von der Quelle für Ubuntu 12.04 finden Sie unter "Weitere Informationen" hier .


Wenn Sie PostGIS 1.5 verwenden, benötigen Sie die Enabler-Skripte auf "mydb", die über die Shell ausgeführt werden:

sudo -u postgres createdb mydb
sudo -u postgres psql -d mydb -f /usr/share/postgresql/9.1/contrib/postgis-1.5/postgis.sql
sudo -u postgres psql -d mydb -f /usr/share/postgresql/9.1/contrib/postgis-1.5/spatial_ref_sys.sql
sudo -u postgres psql -d mydb -f /usr/share/postgresql/9.1/contrib/postgis-1.5/postgis_comments.sql

Ich habe tatsächlich die /usr/share/postgresql/8.4/contrib/ und fand die .sql-Dateien dort
Sam007

2
Für die Verwendung von Geometriefunktionen wie ST_Transform und das Erstellen von Geometriespalten benötigt der Benutzer außerdem GRANT SELECT ON spatial_ref_sys TO PUBLIC. GRANT ALL ON geometry_columns TO <mein gewünschter Benutzer>;
GeekQ

1
Sie können auch SELECT postgis_full_version();danach ausführen , um zu überprüfen, ob eine Datenbank räumlich aktiviert ist.
XåpplI'-I0llwlg'I -
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.