PostGIS es un software de código abierto que permite colocar objetos de "Sistemas de información geográfica" en la base de datos relacional de objetos de PostgreSQL. PostGIS está especialmente diseñado para usar geometrías livianas que ayudan a los servidores a aumentar la cantidad de datos migrados desde el almacenamiento en disco físico a la RAM. Es una extensión de PostgreSQL que se utiliza para almacenar datos espaciales utilizando tipos de datos de geometría y geografía. También se usa para realizar algunas consultas especiales para determinar el área, la distancia, la longitud, el perímetro y crear índices en sus datos.
En este tutorial, aprenderemos cómo instalar PostGIS en Debian 10.
Requisitos
- Un servidor que ejecuta Debian 10.
- Se ha configurado una contraseña de root en su servidor.
Cómo empezar
Antes de comenzar, es una buena idea actualizar el paquete de su sistema a la última versión. Puede actualizarlos usando el siguiente comando:
apt-get update -y
apt-get upgrade -y
Una vez que todos los paquetes estén actualizados, reinicie su sistema para aplicar los cambios.
Instalar PostgreSQL
Antes de comenzar, deberá agregar el repositorio de PostgreSQL a su sistema.
Primero, descargue y agregue 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, agregue el repositorio de 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, actualice el repositorio e instale el servidor PostgreSQL con el siguiente comando:
apt-get update -y
apt-get install postgresql-11 -y
Una vez que se haya completado la instalación, puede verificar el estado del servidor PostgreSQL con el siguiente comando:
systemctl status postgresql
Deberías obtener el siguiente resultado:
? 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.
Puede instalarlo simplemente ejecutando el siguiente comando:
apt-get install postgis postgresql-11-postgis-2.5 -y
Una vez instalado, puede continuar con el siguiente paso.
Activar PostGIS en PostgreSQL
A continuación, deberá crear una base de datos y un usuario de PostgreSQL, y activar las funciones de PostGIS en una base de datos antes de poder almacenar datos espaciales.
Primero, inicie sesión en PostgreSQL con el siguiente comando:
su - postgres
A continuación, cree un usuario y una base de datos con el siguiente comando:
[email protected]:~$ createuser postgisuser
[email protected]:~$ createdb postgis_db -O postgisuser
A continuación, conéctese a la base de datos que acaba de crear:
[email protected]:~$ psql -d postgis_db
Deberías obtener el siguiente resultado:
psql (12.2 (Debian 12.2-2.pgdg100+1), server 11.7 (Debian 11.7-0+deb10u1)) Type "help" for help.
A continuación, habilite la extensión PostGIS en la base de datos:
postgis_db=# CREATE EXTENSION postgis;
A continuación, verifique si PostGIS funciona o no:
postgis_db=# SELECT PostGIS_version();
Deberías obtener el siguiente resultado:
postgis_version --------------------------------------- 2.5 USE_GEOS=1 USE_PROJ=1 USE_STATS=1 (1 row)
Finalmente, salga del shell de PostgreSQL con el siguiente comando:
postgis_db=# \q
[email protected]:~$ exit
Optimizando PostgreSQL para PostGIS
PostgreSQL está diseñado para ejecutarse desde bases de datos pequeñas hasta bases de datos grandes. Los objetos de la base de datos PostGIS son grandes en comparación con los datos de texto. Por lo tanto, deberá optimizar PostgreSQL para que funcione mejor con los objetos de PostGIS.
Puede optimizar el servidor PostgreSQL editando el archivo /etc/postgresql/11/main/postgresql.conf :
nano /etc/postgresql/11/main/postgresql.conf
Cambie el siguiente parámetro dependiendo de la RAM de su 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
Guarde y cierre el archivo cuando haya terminado. Luego, reinicie el servicio PostgreSQL para implementar los cambios.
systemctl restart postgresql
Conclusión
¡Felicidades! Ha instalado correctamente PostGIS en el servidor PostgreSQL. Ahora tiene una base de datos configurada para consultas espaciales. Para obtener más información, visite la documentación de PostGIS en PostGIS.