Je veux importer un fichier shp dans postgreSQL. Tout d'abord, je crée un fichier sql, puis j'exécute PostgreSQL. Pour créer un fichier sql, j'exécute cette commande dans windows cmd:
shp2pgsql -s 4326 worldCountries.shp worldcountries postgres > worldcountries.sql
puis exécutez:
psql -d postgres -U postgres -p 4321 -f worldcountries.sql
mais le résultat est:
psql: worldcountries.sql: 21: ERREUR: la fonction addGeometrycolumn (inconnu, inconnu, inconnu, inconnu, inconnu, entier) n'existe pas
postgis
shapefile
postgresql
import
Morteza Malvandi
la source
la source
"CREATE EXTENSION postgis;"
postgis.net/docs/… .Les
ERROR: function addGeometrycolumn(unknown, unknown, unknown, unknown,unknown, integer) does not exist
moyens que l' extension PostGIS n'est pas installé sur votre postgresql . Allez ici et installez-le.la source
Vous pouvez utiliser le plugin build in import qui est installé lorsque vous installez l'extension PostGis dans PostgreSQL. Vous pouvez le trouver sous Plugins dans le menu et il s'appelle PostGIS Shapefile et DBF loader
regardez cette vidéo youtube comme exemple
la source
Vous avez une projection différente dans votre psql; et avoir une projection n'est pas nécessaire. Y a-t-il un schéma auquel vous souhaitez ajouter le fichier de forme?
Cela devrait fonctionner:
la source
-p
car luipsql
indique le port du serveur, pas la projection. La projection est intégrée dans le script SQL. Voir le manuel fin pourpsql
le comportement de. Dans ce cas, le port spécifié par l'OP n'est pas le port par défaut, il est donc requis. Je déconseille également généralement de stocker une forme sans projection. Cela limite votre capacité à modifier les projections, ce qui peut être utile pour obtenir des calculs plus précis.