Quiero importar un archivo shp a postgreSQL. Primero creo un archivo sql y luego ejecuto PostgreSQL. Para crear un archivo sql, ejecuto este comando en Windows cmd:
shp2pgsql -s 4326 worldCountries.shp worldcountries postgres > worldcountries.sql
y luego ejecuta:
psql -d postgres -U postgres -p 4321 -f worldcountries.sql
pero el resultado es:
psql: worldcountries.sql: 21: ERROR: la función addGeometrycolumn (desconocido, desconocido, desconocido, desconocido, desconocido, entero) no existe
postgis
shapefile
postgresql
import
Morteza Malvandi
fuente
fuente
"CREATE EXTENSION postgis;"
postgis.net/docs/… .Esto
ERROR: function addGeometrycolumn(unknown, unknown, unknown, unknown,unknown, integer) does not exist
significa que la extensión postgis no está instalada en su postgresql . Ve aquí e instálalo.fuente
Puede usar el complemento de importación incorporado que se instala cuando instala la extensión PostGis en PostgreSQL. Puede encontrarlo en Complementos en el menú y se llama PostGIS Shapefile y DBF loader.
mira este video de youtube como ejemplo
fuente
Tienes una proyección diferente en tu psql; y no es necesario tener una proyección. ¿Hay un esquema al que desea agregar el archivo de forma?
Esto debería funcionar:
fuente
-p
parapsql
le dice el puerto del servidor, no la proyección. La proyección se incrusta en el script SQL. Vea el buen manual parapsql
el comportamiento de. En este caso, el puerto que especifica el OP no es el puerto predeterminado, por lo que es obligatorio. También generalmente recomendaría no almacenar una forma sin una proyección. Esto limita su capacidad de cambiar las proyecciones, lo que puede ser útil para obtener cálculos más precisos.