6 votos

Cómo conectarse a Postgres con QGIS?

Extrañamente, debe ser simple, pero no puedo conectar a una base de datos PostGIS. Mi instalación es con Mac OS X (10.8), Postgres.de la aplicación (en el doc se dice que tiene PostGIS incluido) y Quantum GIS, 1.8.

Cuando quiero agregar una conexión a Postgres, estoy especificando nombre de host (localhost), el puerto (5432), nombre de base de datos, nombre de usuario y contraseña (servicio de campo se deja vacío).

Yo me puedo conectar a una base de datos con Navicat, por lo que la base de datos del servidor parece funcionar correctamente. Con la información exacta en QGIS utilizado en Navicat, no se puede conectar... ¿por qué?

Gracias!

13voto

Debe comprobar que se puede conectar con psql. Intente psql -U username -h localhost dbname. Se debe pedir una contraseña, a continuación, conectar. Ejecutar SELECT postgis_version(); para comprobar que PostGIS es activo en la base de datos.

Si se puede conectar, pero SELECT postgis_version() informa de un error, PostGIS no está instalado en la base de datos:

ERROR: la función postgis_version() no existe
LÍNEA 1: SELECCIONE postgis_version();

Otra solución:

SELECT * FROM Postgis_lib_version();

Si quieres ver la versión de PostGIS y el número de versión de las bibliotecas de GEOS y Proj4 solo cambie lib a Full.

Si recibe el error de arriba, a continuación, supongamos que usted está ejecutando PostGIS 2.0 en PostgreSQL 9.1 o superior, conéctese como usuario postgres y ejecute CREATE EXTENSION postgis;. Por ejemplo:

psql -U postgres -h localhost dbname -c 'CREATE EXTENSION postgis;'

También puede ser necesario instalar algunos de los extras, como el PostGIS topología de apoyo:

CREATE EXTENSION postgis_topology;

o el legado secuencia de comandos de apoyo, que no está empaquetado como una extensión y debe ser leído:

psql -U postgres -h localhost dbname -f /path/to/postgis-2.0/legacy.sql

Ver el PostGIS documentación.

Si usted no puede conectarse a la DB, es probablemente una pg_hba.conf problema, la falta de creación de la base de datos o de usuario, etc. Difícil de decir sin error los mensajes y el contenido de un registro.

3voto

lugte098 Puntos 126

Ok, en realidad, el problema era PostGIS no activado en Postgres.aplicación fuera de la caja. Y cuando queremos CREATE EXTENSION postgis, tenemos este error:

ERROR: no se pudo cargar la biblioteca "/Aplicaciones/Postgres.app/Contents/MacOS/lib/rtpostgis-2.0.así": dlopen(/Aplicaciones/Postgres.app/Contents/MacOS/lib/rtpostgis-2.0.así, 10): la Biblioteca no carga: /usr/local/lib/libjpeg.8.dylib Se hace referencia desde: /Aplicaciones/Postgres.app/Contents/MacOS/lib/libgdal.dylib La razón: la imagen no se encuentra

Es porque el archivo /usr/local/lib/libjpeg.8.dylib no está instalado en Mac OS X 10.8 por defecto. Podemos instalarlo con MacBrew usando brew install libjpeg.

Cuando se hace, se puede utilizar correctamente el CREATE EXTENSION comando, como la respuesta anterior sugiere:

psql -U postgres -h localhost dbname -c 'CREATE EXTENSION postgis;'

Nota: con Postgres.de la aplicación, el usuario postgres no existe de forma predeterminada, puede utilizar cualquier usuario que se ha creado con privilegios adecuados, por lo que la reemplace en el comando anterior.

Et voilà! Quantum GIS se puede conectar al servidor PostgreSQL.

Fuente: https://github.com/mattt/PostgresApp/issues/43

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X