Chcę zaimportować plik shp do postgreSQL. Najpierw tworzę plik sql, a następnie uruchamiam PostgreSQL. Aby utworzyć plik sql, uruchamiam polecenie w Windows cmd:
shp2pgsql -s 4326 worldCountries.shp worldcountries postgres > worldcountries.sql
a następnie uruchom:
psql -d postgres -U postgres -p 4321 -f worldcountries.sql
ale wynikiem jest:
psql: worldcountries.sql: 21: ERROR: funkcja addGeometrycolumn (nieznany, nieznany, nieznany, nieznany, nieznany, liczba całkowita) nie istnieje
postgis
shapefile
postgresql
import
Morteza Malvandi
źródło
źródło
"CREATE EXTENSION postgis;"
postgis.net/docs/… .Te
ERROR: function addGeometrycolumn(unknown, unknown, unknown, unknown,unknown, integer) does not exist
środki, że rozszerzenie postgis nie jest zainstalowany na PostgreSQL . Idź tutaj i zainstaluj.źródło
Możesz użyć wbudowanej wtyczki importu, która jest instalowana podczas instalowania rozszerzenia PostGis w PostgreSQL. Możesz go znaleźć pod Wtyczkami w menu i nazywa się PostGIS Shapefile i moduł ładujący DBF
obejrzyj ten film na youtube jako przykład
źródło
Masz inną projekcję w swoim psql; a projekcja nie jest konieczna. Czy istnieje schemat, do którego chcesz dodać plik kształtu?
To powinno działać:
źródło
-p
bopsql
mówi port serwera, a nie rzut. Projekcja zostaje osadzona w skrypcie SQL. Patrz podręcznik grzywny dlapsql
„s zachowanie. W takim przypadku port określony przez OP nie jest domyślnym portem, więc jest wymagany. Ogólnie odradzałbym także przechowywanie kształtu bez wystającego elementu. Ogranicza to możliwość zmiany projekcji, co może być pomocne w uzyskiwaniu dokładniejszych obliczeń.