Este artículo pretende mostrar el proceso para instalar PostGIS en Ubuntu sobre la base de datos PostgreSQL.
PostGIS es el módulo o extensión espacial de PostgreSQL. Provee a la base de datos capacidad de almacenamiento, consulta y análisis de información geográfica, mediante la inclusión de una gran variedad de funciones espaciales.
Si quieres aprender más acerca de PostGIS, visita nuestro artículo sobre qué es PostGIS y qué capacidades ofrece para trabajar con información geográfica.
Instalar la base de datos PostgreSQL
Primeramente instalaremos la base de datos PostgreSQL en nuestra máquina Ubuntu.
Para ello, abriremos la consola e introduciremos los siguientes comandos:
sudo apt-get update
sudo apt-get install postgresql postgresql-contrib
Indicaremos que sí queremos instalar los paquetes de PostgreSQL cuando nos lo requiera el diálogo para así iniciar el proceso de descarga e instalación.
El proceso puede tardar unos minutos. Seguidamente instalaremos el módulo espacial PostGIS.
Instalar PostGIS en Ubuntu
La instalación del módulo PostGIS sobre PostgreSQL es realmente fácil.
Siguiendo con la instalación, una vez que PostgreSQL esté instalado, indicaremos en la consola de Ubuntu:
sudo apt install postgis
Debería iniciarse la descarga e instalación de paquetes que puede durar unos minutos.
Una vez haya terminado, será el momento de comprobar la correcta instalación tanto de la base de datos como de la extensión PostGIS.
Comprobar la instalación de PostgreSQL
Una vez finalizado el proceso de instalación de PostgreSQL y PostGIS, a continuación nos aseguraremos de que todo funcione correctamente.
Introduciremos en la línea de comandos para conocer la versión disponible en nuestra máquina y el estado del servicio:
psql –version
sudo systemctl status postgresql.service
Una vez hayamos comprobado este punto, trataremos de conectarnos a PostgreSQL y realizar algunas tareas básicas para asegurarnos de su correcta instalación.
Desde la línea de comandos indicaremos lo siguiente para crear un usuario y su contraseña y acceder a la base de datos:
sudo adduser postgres_user
El diálogo nos pedirá introducir la contraseña dos veces. Por defecto: postgres.
A continuación deberemos introducir (alternativamente) algunos datos del usuario. Podemos dejar en blanco o por defecto los detalles pulsando intro. Finalmente indicamos que sí es correcta la información.
De este modo comprobamos que sí tenemos acceso a PostgreSQL y podemos administrar usuarios. A continuación accederemos a la base de datos con el comando:
sudo su – postgres
Comprobaremos que podemos introducir sentencias SQL, creando otro usuario y una base de datos de la que sea dueño. Para ello, indicaremos en la línea de comandos:
sudo su – postgres
psql
Dentro de la base de datos como postgres, introduciremos una sentencia SQL similar a la siguiente:
CREATE USER geomapik WITH PASSWORD ‘geomapik_pw’;
CREATE DATABASE bbdd_prueba OWNER postgres_user;
Indicaremos:
\q
exit
Para salir de la conexión.
De este modo, hemos creado un usuario y su contraseña, así como una nueva base de datos perteneciente a dicho usuario creado.
Finalmente, para comprobar que la base de datos se ha guardado correctamente en PostgreSQL, introduciremos los siguientes comandos para acceder de nuevo:
sudo su – postgres
psql
\l
Con este comando debería aparecernos un listado con las tablas (relaciones) existentes en ese punto, entre ellas la tabla anteriormente creada.
Podemos salir indicando de nuevo:
\q
exit
Comprobar la instalación de PostGIS en Ubuntu
Ahora que hemos comprobado que nuestra instalación de PostgreSQL es correcta y nos permite crear bases de datos, tablas y usuarios eficazmente, es el momento de comprobar la instalación de PostGIS.
Para comprobar que se ha podido instalar PostGIS en Ubuntu de forma correcta, trataremos de generar la extensión sobre una base de datos creada.
Para ello, accederemos a PostgreSQL con el usuario «postgres» y conectaremos a la base de datos que creamos anteriormente:
sudo su - postgres
psql -d bbdd_prueba
A continuación, una vez dentro de la base de datos, vamos a crear la extensión PostGIS. Introduciremos en la consola:
CREATE EXTENSION postgis;
Seguidamente, comprobaremos la versión de PostGIS instalada en la base de datos anteriormente:
SELECT postgis_version();
Para finalizar, introduciremos el comando siguiente:
\dt
Con esta ultima acción se mostrara un listado con las tablas (relaciones) creadas.
En este caso, a no ser que hayamos creado alguna otra tabla con anterioridad, aparecerá una única relación denominada «spatial_ref_sys» perteneciente a todos los SRC que contiene PostGIS.
Puedes hacer la prueba para visualizar el listado de SRC introduciendo:
SELECT srid, auth_name, proj4text FROM spatial_ref_sys;
Podemos salir de la conexión como de costumbre introduciendo:
\q
exit
una vez realizada la instalación de ambos, podemos instalar pgAdmin4 como interfaz o sistema gestor de la base de datos. En este artículo te mostramos cómo instalar y configurar pgAdmin4 para poder empezar a trabajar con datos espaciales.
Buenas tardes
He seguido los pasos para comprobar que postgis se ha instalado completamente, pero me lanza este error:
bbdd_prueba=# CREATE EXTENSION postgis;
ERROR: no se pudo abrir el archivo de control de extensión «/usr/share/postgresql/11/extension/postgis.control»: No existe el archivo o el directorio
¿Sabes cómo puedo solucionarlo?
Uso ubuntu 18.04
Hola Efrain,
gracias por tu comentario. No me he llegado a topar con ese tipo de error, así que no sé exactamente cómo indicarte ni cuál puede ser el origen concreto del error. En todo caso asegúrate de tener instalado postgis tras haber instalado postgresql (sudo apt-get install postgis), prueba con otras versiones de postgresql o reinstala ambos. Te dejo un hilo de StackOverflow que quizá te pueda ayudar: https://stackoverflow.com/questions/18696078/postgresql-error-when-trying-to-create-an-extension
Saludos!