Cómo instalar PostGIS Sistemas de Información Geográfica PostgreSQL en Debian

PostGIS es un software de código abierto que permite incorporar objetos de «Sistemas de Información Geográfica» a la base de datos relacional de objetos PostgreSQL. El PostGIS está especialmente diseñado para utilizar geometrías ligeras que ayudan a los servidores a aumentar la cantidad de datos migrados desde el almacenamiento en disco físico a la memoria RAM. Es una extensión del PostgreSQL que se utiliza para almacenar datos espaciales utilizando tipos de datos de geometría y geografía. También se utiliza para realizar algunas consultas especiales para determinar el área, la distancia, la longitud, el perímetro y crear índices sobre tus datos.

En este tutorial, aprenderemos a instalar PostGIS en Debian 10.

Requisitos previos

  • Un servidor con Debian 10.
  • Una contraseña de root en tu servidor.

Cómo empezar

Antes de empezar, es una buena idea actualizar los paquetes de tu sistema a la última versión. Puedes actualizarlos con el siguiente comando:

apt-get update -y
 apt-get upgrade -y

Una vez actualizados todos los paquetes, reinicia tu sistema para aplicar los cambios.

Instalar PostgreSQL

Antes de empezar, tendrás que añadir el repositorio de PostgreSQL a tu sistema.

Primero, descarga y añade la clave GPG con el siguiente comando:

apt-get install gnupg2 -y
 wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add -

A continuación, añade el repositorio PostgreSQL con el siguiente comando:

echo "deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main" | tee /etc/apt/sources.list.d/pgdg.list

A continuación, actualiza el repositorio e instala el servidor PostgreSQL con el siguiente comando:

apt-get update -y
 apt-get install postgresql-11 -y

Una vez finalizada la instalación, puedes comprobar el estado del servidor PostgreSQL con el siguiente comando:

systemctl status postgresql

Deberías obtener la siguiente salida:

? postgresql.service - PostgreSQL RDBMS
   Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled)
   Active: active (exited) since Sun 2020-04-12 04:58:43 UTC; 15s ago
 Main PID: 2665 (code=exited, status=0/SUCCESS)
    Tasks: 0 (limit: 2359)
   Memory: 0B
   CGroup: /system.slice/postgresql.service

Apr 12 04:58:43 debian10 systemd[1]: Starting PostgreSQL RDBMS...
Apr 12 04:58:43 debian10 systemd[1]: Started PostgreSQL RDBMS.

Instalar PostGIS

En este punto, el servidor PostgreSQL está instalado y funcionando. Ahora, es el momento de instalar PostGIS.

Puedes instalarlo simplemente ejecutando el siguiente comando:

apt-get install postgis postgresql-11-postgis-2.5 -y

Una vez instalado, puedes pasar al siguiente paso.

Activar PostGIS en PostgreSQL

A continuación, tendrás que crear una base de datos y un usuario PostgreSQL, y activar las características de PostGIS en una base de datos antes de poder almacenar datos espaciales.

En primer lugar, inicia sesión en PostgreSQL con el siguiente comando:

su - postgres

A continuación, crea un usuario y una base de datos con el siguiente comando:

postgres@debian10:~$ createuser postgisuser
 postgres@debian10:~$ createdb postgis_db -O postgisuser

A continuación, conéctate a la base de datos que acabas de crear:

postgres@debian10:~$ psql -d postgis_db

Deberías obtener la siguiente salida:

psql (12.2 (Debian 12.2-2.pgdg100+1), server 11.7 (Debian 11.7-0+deb10u1))
Type "help" for help.

A continuación, activa la extensión PostGIS en la base de datos:

postgis_db=# CREATE EXTENSION postgis;

A continuación, verifica si PostGIS funciona o no:

postgis_db=# SELECT PostGIS_version();

Deberías obtener la siguiente salida:

            postgis_version            
---------------------------------------
 2.5 USE_GEOS=1 USE_PROJ=1 USE_STATS=1
(1 row)

Por último, sal del shell de PostgreSQL con el siguiente comando:

postgis_db=# \q
 postgres@debian10:~$ exit

Optimizar PostgreSQL para PostGIS

PostgreSQL está diseñado para funcionar con bases de datos desde pequeñas hasta grandes. Los objetos de las bases de datos de PostGIS son grandes en comparación con los datos de texto. Así que tendrás que optimizar PostgreSQL para que funcione mejor con los objetos PostGIS.

Puedes optimizar el servidor PostgreSQL editando el archivo /etc/postgresql/11/main/postgresql.conf:

nano /etc/postgresql/11/main/postgresql.conf

Cambia el siguiente parámetro en función de la memoria RAM de tu sistema:

#This value should be around 75% of your server’s RAM.
shared_buffers = 1500M
#This allows PostgreSQL to cache more data in memory while it performs its sorting
work_mem = 64MB
#A checkpoint is a periodic action that stores information about your system
checkpoint_segments = 6
#This setting essentially is the amount of time that your optimizer should spend reading memory before reaching out to your disk.
random_page_cost = 2.0 

Guarda y cierra el archivo cuando hayas terminado. A continuación, reinicia el servicio PostgreSQL para aplicar los cambios.

systemctl restart postgresql

Para más información, visita la documentación de PostGIS en PostGIS.

También te podría gustar...