versiones guia español descargar actualizar postgresql geometry postgis

postgresql - guia - qgis manual



Instalación de Postgis: el tipo "geometría" no existe (7)

Estoy tratando de crear una tabla con Postgis. Lo hago por esta page . Pero cuando importo el archivo postgis.sql, recibo muchos errores:

ERROR: type "geometry" does not exist

¿Alguien sabe cómo puedo solucionarlo?


Debe habilitar la extensión en su base de datos.

psql my_database -c "CREATE EXTENSION postgis;"


Las respuestas aquí pueden resolver su problema, sin embargo, si ya tiene posgis habilitado en su base de datos, el problema puede ser que está intentando restaurar una tabla postgis (con una columna de geometría) en un esquema distinto de donde está habilitada su extensión de postgis. En pgAdmin puede hacer clic en la extensión de postgis y ver qué esquema se especifica. Si intenta restaurar una tabla con una columna de geometría en un esquema diferente, es posible que obtenga este error.

Resolví esto alterando mi extensión de postgis, sin embargo, no estoy seguro de si esa era necesariamente la mejor manera de hacerlo. Todo lo que sé es que me permitió restaurar la mesa.


O...

cursor.execute(''create extension postgis'')

en tu programa python, usando un cursor actual de psycopg2.


Para que psql se detenga en el primer error, use -v ON_ERROR_STOP=1 (que está desactivado de manera predeterminada , por lo que puede ver muchos errores). Por ejemplo:

psql -U postgres -d postgis -v ON_ERROR_STOP=1 -f postgis.sql

El error real es algo así como "no se pudo cargar la biblioteca X", que puede variar según su situación. A modo de conjetura, pruebe este comando antes de instalar el script sql:

ldconfig

(Es posible que tenga que prefijar sudo según su sistema). Este comando actualiza las rutas a todas las bibliotecas del sistema, como GEOS.


Puedes hacerlo desde la terminal:

psql mydatabasename -c "CREATE EXTENSION postgis";


Si se carga Postgis-Extension, entonces su SQL quizás no encuentre el tipo de geometría debido a la falta de una ruta de búsqueda al esquema público.

Tratar

SET search_path = ..., público;

en la primera línea de tu scsript. (reemplace ... con las otras rutas de búsqueda requeridas)


Tuve el mismo problema, pero fue corregido ejecutando el siguiente código

CREATE EXTENSION postgis;

En detalle,

  1. abrir pgAdmin
  2. seleccione (haga clic) en su base de datos
  3. haga clic en el ícono "SQL" en la barra
  4. ejecuta "CREATE EXTENSION postgis"; código