Ich möchte eine shp-Datei nach postgreSQL importieren. Zuerst erstelle ich eine SQL-Datei und starte dann PostgreSQL. Um eine SQL-Datei zu erstellen, führe ich diesen Befehl in Windows Cmd aus:
shp2pgsql -s 4326 worldCountries.shp worldcountries postgres > worldcountries.sql
und dann laufen:
psql -d postgres -U postgres -p 4321 -f worldcountries.sql
aber das Ergebnis ist:
psql: worldcountries.sql: 21: FEHLER: Funktion addGeometrycolumn (unbekannt, unbekannt, unbekannt, unbekannt, unbekannt, ganzzahlig) existiert nicht
postgis
shapefile
postgresql
import
Morteza Malvandi
quelle
quelle
"CREATE EXTENSION postgis;"
postgis.net/docs/… .Das
ERROR: function addGeometrycolumn(unknown, unknown, unknown, unknown,unknown, integer) does not exist
bedeutet, dass die postgis-Erweiterung nicht auf Ihrem postgresql installiert ist . Gehen Sie hier und installieren Sie es.quelle
Sie können das eingebaute Import-Plugin verwenden, das installiert wird, wenn Sie die PostGis-Erweiterung in PostgreSQL installieren. Sie finden es unter Plugins im Menü und heißt PostGIS-Shapefile und DBF-Loader
Sehen Sie sich dieses YouTube- Video als Beispiel an
quelle
Sie haben eine andere Projektion in Ihrem psql; und eine Projektion ist nicht notwendig. Gibt es ein Schema, zu dem Sie die Formdatei hinzufügen möchten?
Das sollte funktionieren:
quelle
-p
for gibtpsql
den Port des Servers an, nicht die Projektion. Die Projektion wird in das SQL-Skript eingebettet. Informationen zumpsql
Verhalten finden Sie im Handbuch . In diesem Fall ist der vom OP angegebene Port nicht der Standardport, sodass er erforderlich ist. Ich würde auch generell davon abraten, eine Form ohne Projektion zu speichern. Dies schränkt Ihre Fähigkeit ein, Projektionen zu ändern. Dies kann hilfreich sein, um genauere Berechnungen zu erhalten.