Disponible durante más de 20 años, PostgreSQL ha demostrado su notable confiabilidad en casos de uso que van desde conjuntos de datos pequeños hasta grandes. La lista de usuarios comerciales y no comerciales satisfechos es bastante larga, y entre otros incluye el Fondo de las Naciones Unidas para la Infancia (UNICEF), Creative Commons Archive, Skype y BMW Group.
Su modelo de gestión de transacciones incorporado, así como el conjunto de tipos de datos geométricos, ayudaron a destacar el software de otros desarrollos como MySQL/Mariadb, Redis o SQLite . En este artículo nos centramos en la configuración de PostgreSQL 11.5 en combinación con Postgis 2.5 .
Postgis es la extensión espacial de PostgreSQL que agrega funciones geométricas y características geográficas a PostgreSQL. Simplemente hablando, estos tipos de datos espaciales actúan como formas, y tanto estructuras espaciales abstractas como encapsulan como límite y dimensión. Entre otros, los tipos de datos recién disponibles son Punto, Superficie, y Curva.
Uno de los usuarios más destacados de Postgis es el Instituto Géographique National (IGN) de Francia que recopila, integra, administra y distribuye información geográfica de referencia para todo el país. Desde julio de 2006, Postgis está en uso extenso. Hasta ahora la base de datos de la IGN posee más de 100 millones de objetos espaciales.
Configuraremos PostgreSQL/Postgis en Debian GNU/Linux 10 "Buster" utilizando el entorno de escritorio XFCE .
Configurar los DBMS PostgreSQL en una GNU/Linux de Debian requiere solo un nivel moderado de conocimiento de la administración del sistema. El desafío aquí es el orden correcto de los pasos que se requieren (ver una lista completa con imágenes). Al igual que con cualquier otra distribución de Linux, hay configuraciones predeterminadas y nombres de paquetes que pueden ser un poco problemáticos. No gemimos, y solo comenzamos, en su lugar.
Instalar PostgreSQL como software
El paso uno es la instalación del paquete PostgreSQL. En una terminal puede hacerlo de la siguiente manera:
# apt-get instalación postgresql
Utilizando el sistema de gestión de configuración de Chef, una receta básica que conduce al mismo resultado contiene solo las siguientes líneas:
Paquete 'PostgreSQL' do Action: Instalar final
Servicio 'Postgresql' do Action: [: habilitar ,: inicio] final
Estas líneas conducen a la instalación del paquete PostgreSQL (más dependencias del paquete), y habilitando el servicio según. Para verificar el servicio PostgreSQL para que se ejecute, este comando debería darle una salida positiva, luego:
# Servicio de estado PostgreSQL
Completar la configuración de la cuenta del administrador
El usuario Postgres administra las bases de datos PostgreSQL. El paso dos es finalizar esta cuenta y comienza con la agregar una contraseña a sus credenciales de la siguiente manera:
# PASSWD Postgres
Nueva contraseña:
Reescriba nueva contraseña:
PASSWD: Contraseña actualizada correctamente
#
Iniciar sesión como el usuario Postgres le permite otorgar a otros usuarios acceso a la base de datos PostgreSQL. Posteriormente, tenemos que agregar un usuario en el paso tres. Tenga en cuenta el hecho de que tanto el sistema Linux como PostgreSQL mantienen sus bases de datos de usuarios por separado. Es por eso que debe asegurarse de que un usuario de Linux regular con el mismo nombre también exista en su sistema, antes de permitir el acceso a PostgreSQL para él.
Agregar una cuenta de usuario
El paso cuatro se realiza como el usuario Postgres. Cambie de root a Postgres y cree una nueva cuenta para el usuario Linuxhint en la base de datos PostgreSQL con la ayuda de este comando:
Postgres $ createuser -interactive Linuxhint
¿Será el nuevo papel un superusador?? (y/n) n
¿Se permitirá que el nuevo rol cree bases de datos?? (y/n) n
¿El nuevo rol se ha permitido crear nuevos roles?? (y/n) n
Postgres $
A continuación, establezca una contraseña para el usuario recién creado Linuxhint. Inicie sesión en el shell de la base de datos usando PSQL y configure la nueva contraseña usando el comando \ contraseña. Después de ese tipo de tipo en \ q para dejar el shell de la base de datos y volver al shell en el terminal:
Postgres $ PSQL PSQL (11.5 (Debian 11.5-1+DEB10U1)) Escriba "ayuda" para obtener más ayuda.El paso cinco es la creación de una base de datos separada para el usuario Linuxhint. Para hacerlo, escriba el comando creadob como postgress de usuario:
Postgres $ creatingb linuxhint
Ahora, el usuario Linuxhint tiene su propia base de datos y puede trabajar con ella de acuerdo con sus necesidades.
Agregar postgis
El paso seis consiste en la instalación del paquete Postgis. Como se hizo para PostgreSQL antes, se puede hacer de la siguiente manera usando apt-get:
# apt-get instalación postgis
Alternativamente, una receta simple para el chef sería esta:
paquete 'postgis' do
Acción: instalar
fin
El paquete Postgis tiene una dependencia del paquete Debian PostgreSQL-11-Postgis-2.5-Scripts (instalado automáticamente) que conecta PostGIS a PostgreSQL y elimina una serie de pasos manuales necesarios en otras distribuciones. No importa cuál sea uno de los dos métodos de instalación que elija, apt -get o chef,, la administración de paquetes de Debian se asegurará de que todos los paquetes dependientes estén instalados y configurados correctamente.
El paso siete es la habilitación de la extensión posterior a. Como se explica en la documentación de Postgis, no la instale en la base de datos llamada Postgres, ya que esta está en uso para las datos internos de PostgreSQL, y solo lo habilita en cada base de datos de usuarios que realmente lo necesita. Inicie sesión como el usuario Postgres, conéctese a la base de datos deseada y cree las dos extensiones Postgis y Postgis_Topology como se muestra a continuación. El comando \ c lo conecta a la base de datos deseada, y Crear extensión hace que la extensión deseada esté disponible:
Postgres =#
Ahora está conectado con la base de datos "Linuxhint" como usuario "Postgres".
linuxhint =# Crear extensión Postgis;El paso siete es para la validación que la activación de la extensión fue exitosa. El comando PostgreSQL \ dx enumera las extensiones que están instaladas, y tanto postgis como postgis_topology deberían estar en la lista, ahora.
Postgis también proporciona otras extensiones. Recomendamos instalar solo lo que necesita. Consulte la documentación de Postgis para obtener más información sobre las extensiones.
Agregar datos
Tener la configuración de Postgis con éxito, es hora de agregar tablas y llenarlas con datos. Muchos datos geográficos están disponibles en línea de forma gratuita, por ejemplo de Geofabrik. Los datos se proporcionan como archivos de forma, que es un formato de datos vectorial común para el software GIS.
Habiendo descargado el archivo de forma, cargue el contenido del archivo de forma en Postgis con la ayuda de la herramienta de línea de comandos especial SHP2PGSQL. El siguiente ejemplo demuestra cómo convertir el archivo de forma en una secuencia de comandos SQL, primero, y cargar la lista de comandos SQL en la base de datos usando PSQL, Next:
Linuxhint $ shp2pgsql -cdii ferrocarriles.Ferrocarril SHP> Ferrocarril.sqlLa siguiente figura muestra la salida que se imprime en la pantalla tan pronto como cargue los datos.
Ahora, PostgreSQL/Postgis está a su servicio y está listo para recibir sus consultas SQL. Por ejemplo, Pgadmin le permite mirar debajo del capó en minutos. La siguiente figura muestra esto para los datos cargados. La columna más a la derecha tiene un tipo geométrico multilining.
Configurar PostgreSQL/Postgis no es ciencia espacial. Con los pasos explicados anteriormente, puede hacer esto en menos de una hora y tener resultados rápidamente. Et voila!