Este artículo pretende mostrar paso a paso cómo conectar la base de datos PostGIS con QGIS, el Sistema de Información Geográfica más popular de código libre.
De hecho, la unión de PostGIS y QGIS es la base de cualquier arquitectura GIS como solución Open Source. Alimentar un Sistema de Información Geográfica (en este caso de escritorio) con una base de datos es esencial para desarrollar proyectos GIS de cierta envergadura.
La extensión espacial PostGIS
PostGIS es la extensión espacial de PostgreSQL, la base de datos relacional Open Source más avanzada y utilizada.
Básicamente, PostGIS convierte a PostgreSQL en una base de datos espacial añadiendo 3 características:
- La capacidad de almacenar y reconocer datos con componente espacial
- La opción de generar índices espaciales
- La capacidad de introducir operaciones de análisis espacial sobre dichos datos almacenados
De hecho, pueden realizarse procesos de análisis realmente avanzados y con tiempos de ejecución únicos sobre PostGIS mediante consultas SQL espaciales. La adición de la extensión PostGIS sobre PostgreSQL habilita más de un millar de funciones espaciales.
Tenemos un artículo explícito sobre qué es PostGIS para conocer en detalle las posibilidades y ventajas que ofrece este módulo para PostgreSQL.
Los principales programas de software GIS de escritorio permiten la comunicación y la exportación de datos a PostGIS, así como también MapServer, Geoserver y ArcGIS Server para alimentar visores de webmapping.
Preparar PostGIS para cargar datos espaciales desde QGIS
Para operar sobre PostgreSQL – PostGIS deberá accederse desde pgAdmin, la principal interfaz y herramienta de gestión de esta base de datos.
Para este tutorial bastará con habilitar PostgreSQL para que funcione como servidor local en nuestro propio ordenador. Al establecer el servidor deberemos dar los parámetros correctos en pgAdmin.
Lo primero que deberemos hacer es crear una nueva base de datos desde pgAdmin, asignando un nombre y un usuario propietario de dicha base de datos.

Una vez creada, deberemos acceder a la herramienta de creación de consultas sobre nuestra base de datos.

Teniendo disponible la opción de creación de queries, introduciremos la siguiente sentencia SQL para habilitar la creación de la extensión PostGIS y poder así almacenar información de carácter espacial.
SQL es uno de los principales lenguajes de programación GIS, indispensable para gestionar bases de datos espaciales y necesario en prácticamente cualquier proyecto GIS. Como técnico, analista o programador GIS es indispensable conocerlo.

Podemos comprobar que efectivamente se ha podido habilitar PostGIS desde el árbol del menú lateral dirigiéndonos a nuestra base de datos > Extensions > PostGIS.

Por ahora, ya con PostGIS habilitado, dejaremos pgAdmin ejecutándose y procederemos a inspeccionar y cargar las capas desde QGIS.
Cómo importar capas a PostGIS desde QGIS
Para cargar capas en PostGIS existen múltiples maneras. Utilizar QGIS es tremendamente cómodo pues podremos inspeccionar, editar y generar nuevas capas que serán transferidas a la base de datos PostGIS y viceversa.
Lo primero que haremos será cargar nuestra capa en QGIS, en este caso una capa de geometría tipo puntos.

Podemos inspeccionar la tabla de registros de nuestra capa para ver qué tipo de datos contiene.

Para proceder a importar datos a PostGIS desde QGIS primeramente deberemos habilitar la conexión entre base de datos y nuestro Sistema de Información Geográfica.
Habilitar la conexión a PostGIS
Nos dirigiremos a Capa > Administrador de Fuentes de Datos > PostgreSQL en el menú lateral. En la interfaz haremos clic en «Nueva» y deberá habilitarse un formulario con distintos campos a rellenar.
Deberemos introducir los datos de conexión necesarios para establecer el vínculo a nuestra base de datos. Éstos parámetros son:
- el nombre de la conexión (arbitraria, como el usuario desee).
- el host o anfitrión (localhost en nuestro caso) .
- el puerto habilitado para la base de datos (por defecto 5432).
- el nombre de la base de datos dado en pgAdmin (debe coincidir exactamente con el nombre establecido).
- alternativamente los parámetros de identificación de usuario y su contraseña para no tener que introducirlas posteriormente.

Una vez hayamos configurado la conexión a PostGIS desde QGIS, aceptaremos y deberemos recibir un mensaje de confirmación de éxito en la conexión.
Posteriormente, deberemos dirigirnos al menú Base de Datos > Administrador de Bases de Datos. El administrador es un plugin que forma parte del core de QGIS, viniendo integrado en él con su misma instalación.

Desde el menú del administrador seleccionaremos la opción de conexión a PostGIS y deberá aparecer listada la conexión establecida anteriormente a la base de datos. Deberíamos ser capaces de visualizar el esquema public y las opciones espaciales habilitadas.
Importar la capa a PostGIS
Finalmente, para importar una capa a PostGIS desde QGIS deberemos dirigirnos a la opción del Administrador de Bases de Datos «Importar capa/archivo». Se abrirá un nuevo formulario donde deberemos indicar qué capas cargar en PostGIS y de qué manera.

Seleccionaremos la capa de entrada y el nombre de la tabla que se generará en PostGIS. Podemos habilitar la opción de creación de columna de geometría si se nos permite, establecer la codificación y los SRC de origen o destino de la capa, si queremos crear un índice espacial, cierto comentario, etcétera.

Una vez validados los parámetros de subida y si no existe ningún error en ellos o en la capa, deberíamos recibir un mensaje de confirmación conforme la importación a PostGIS se ha realizado con éxito.
Visualizar las capas subidas en PostGIS
De vuelta a PostGIS, deberíamos poder visualizar la capa cargada desde QGIS. Podremos localizar las capas en el menú lateral izquierdo, en Schemas > Public > Tables.
Allí debería aparecer la tabla de sistemas de referencia espaciales y nuestra capa importada desde QGIS.
En caso de que no podamos visualizarla, deberemos refrescar la base de datos con la tecla F5 o mediante botón derecho sobre la base de datos > opción Refresh.

Haciendo clic con el botón derecho sobre nuestra capa > View Data > All Rows deberíamos poder ver una ventana la tabla con todos los registros cargados.
Si hemos habilitado la opción de crear la columna de geometría, podremos hacer clic en el botón azul junto a su cabecera para desplegar el visor espacial.

El visor de geometrías en forma de mapa es una característica nueva muy potente e interesante introducida en pgAdmin 4 v3.3. En versiones anteriores de pgAdmin esta opción no está disponible.
Recomendamos actualizar a pgAdmin 4 o, en caso de no tener ninguna versión instalada todavía, instalar directamente esta versión por la gran mejora en su interfaz para trabajar con PostGIS y datos espaciales.
Podremos visualizar, seleccionar e inspeccionar los atributos de la capa tanto desde el visor como desde la tabla alternativamente. Asimismo, podremos realizar cualquier tipo de consulta SQL sobre nuestra capa también a nivel espacial.
Cómo importar capas a QGIS desde PostGIS
Finalmente, retornando a QGIS, si queremos cargar capas desde una base de datos PostGIS deberemos acceder al Administrador de Fuentes de Datos > opción PostgreSQL y seleccionar la conexión establecida.

Seleccionando la capa deseada, deberemos hacer clic en añadir para cargar las capas en QGIS. Pueden cargarse múltiples capas seleccionadas simultáneamente.
En caso de querer cargar o visualizar capas no geométricas deberemos habilitar la opción desde la parte inferior del cuadro de diálogo.
Las capas ya deberían poder verse cargadas en la tabla de contenidos y el lienzo de QGIS para empezar a operar con ellas, editarlas y posteriormente devolverlas a PostGIS.
muy buen articulo lo mejor necesitaba esta informacion para crear de forma local una base de datos para trabajar con qgis.