Las aplicaciones enfocadas en bases de datos cada día toman más y más fuerza por todo lo que los datos implican en el desarrollo de las organizaciones y de los usuarios que están en este mundo, por eso se busca que estas aplicaciones sean lo más completas posibles para que el desarrollo de las tareas no se vea afectado ni por temas de compatibilidad, desempeño o uso de características.
En este aspecto contamos con dos herramientas claves como lo son PostgreSQL y pgAdmin4 de las cuales te hablaremos en detalle en Solvetic.
PostgreSQL puede ser ejecutado en todos los principales sistemas operativos actuales y es compatible con ACID, adicional a esto nos ofrece complementos especiales como el extensor de base de datos geoespacial PostGIS.
PostgreSQLnos ofrece un amplio conjunto de características las cuales permiten a los desarrolladores a la creación de aplicaciones, a proteger la integridad de los datos o bien implementar entornos tolerantes a fallos sin tener en cuenta el tamaño de la organización donde se implemente.
- Admite diferentes tipos de datos como entero, numérico, cadena, booleano, estructurados como fecha, hora, matriz, rango, de datos como JSON, JSONB, XML, de geometría como punto, línea, círculo, polígono y más
- Administra la integridad de los datos ÚNICO, NO NULO, las claves primarias, las llaves extranjeras o las restricciones de exclusión
- Cuenta con replicación asíncrona, síncrona y lógica
- Registro de escritura anticipada (WAL)
- Usa los métodos de indexación árbol B, multicolumna, expresiones o parcial
- A nivel avanzado usa la indexación avanzada GiST, SP-Gist, KNN Gist, GIN, BRIN, índices de cobertura y más.
- Control de concurrencia de múltiples versiones (MVCC)
- Gestiona la partición de tablas
- A nivel de seguridad implementa los métodos de autenticación GSSAPI, SSPI, LDAP, SCRAM-SHA-256, Certificado y más.
- Posee un sistema de control de acceso robusto.
- Autenticación multifactor con certificados y un método adicional.
- Añade seguridad a nivel de columna y fila.
- Soporte para caracteres internacionales.
- Búsqueda de texto completo.
- Administra los lenguajes PL / PGSQL, Perl, Python.
- Controla expresiones de ruta SQL / JSON.
- Funciones y procedimientos almacenados
Podemos usar pgAdmin4 en Linux, Unix, macOS y Windows permitiéndonos administrar PostgreSQL y EDB Advanced Server 9.5 y superior.
- Soporte para la restricción de nivel de esquema
- Soporte para el enlace anónimo LDAP
- Admite archivos de configuración externos
- Compatible para Windows, Linux o macOS
- Puede ser usado para gestionar PostgreSQL 9.5 y superior o bien EDB Postgres Advanced Server 9.5 y superior
- Integra modo de escritorio y de servidor
- Red de datos rápida para visualización / entrada de datos
- Añade la herramienta Schema diff la cual nos permite administrar las diferencias entre esquemas
- Es compatible con las codificaciones del lado del servidor de PostgreSQL
- Integra un depurador de lenguaje procedimental
- Cuenta con un panel de control
- Permite realizar tareas de copia de seguridad, restauración, vacío y análisis bajo demanda
- Posee un agente de programación de trabajos SQL / shell / batch
- Es posible crear, ver o editar objetos SQL como bases de datos, dominios, columnas, diccionarios FTS, analizadores FTS, plantillas FTS y mucho mas
Sin más vamos a ver cómo instalar PostgreSQL y pgAmdin4 en Ubuntu 20.10.
1. Cómo instalar PostgreSQL en Ubuntu 20.10
Lo primero a realizar será actualizar los paquetes actuales del sistema, para ello ejecutamos:
sudo apt update
Una vez el sistema este actualizado instalaremos el siguiente comando:
sudo apt install postgresql
Ingresamos la letra “S” para confirmar la descarga e instalación de PostgreSQL:
Cuando este proceso llegue a su final veremos lo siguiente:
Durante el proceso de instalación será creado un nuevo clúster de PostgreSQL el cual es una colección de bases de datos para ser administradas por una sola instancia de servidor, este permite dar inicio a la base de datos. El directorio de datos por defecto es /var/lib/postgresql/12/main y los archivos de configuración serán almacenados en el directorio /etc/postgresql/12/main.
Tras la instalación vamos a ejecutar los siguientes comandos:
sudo systemctl is-active postgresql (activa PostgreSQL) sudo systemctl is-enabled postgresql (habilita PostgreSQL) sudo systemctl status postgresql (vemos el estado de PostgreSQL)
Vamos a validar que el servidor PostgreSQL puede aceptar conexiones de clientes, para ello ejecutamos:
sudo pg_isready
2. Cómo crear base de datos en PostgreSQL
Vamos a crear una nueva base de datos en PostgreSQL, para esto debemos acceder al shell de base de datos de PostgreSQL (psql).
En primer lugar, cambiamos a la cuenta de usuario del sistema postgres y ejecutamos el comando psql así:
sudo su - postgres psql
Ahora crearemos la base de datos ejecutando lo siguiente:
CREATE USER “usuario” WITH PASSWORD 'contraseña'; CREATE DATABASE “base de datos”; GRANT ALL PRIVILEGES ON DATABASE “base” to “usuario”; \q
3. Cómo configurar la autenticación del usuario en PostgreSQL
PostgreSQL hace uso de la autenticación del cliente con el fin de determinar cuáles cuentas de usuario pueden conectarse a qué bases de datos desde qué equipos y esta configuración la encontramos en la configuración del archivo de autenticación del cliente, este lo veremos en la ruta /etc/postgresql/12/main/pg_hba.conf.
Accedemos a este con algún editor de texto:
sudo nano /etc/postgresql/12/main/pg_hba.conf
Hemos visto dentro de las características que PostgreSQL hace uso de diferentes tipos de métodos de autenticación de clientes. En este caso md5 es el más seguro y recomendado ya que este método de autenticación requiere que el cliente ingrese una contraseña con doble hash MD5 para la autenticación y acceso.
Comprobamos que el método sea md5 en el archivo de configuración antes descrito:
Si hemos realizado algún cambio debemos aplicar los cambios en PostgreSQL con el siguiente comando:
sudo systemctl restart postgresql
4. Cómo instalar pgADmin4 en Ubuntu 20.10
Es momento de instalar pgAdmin4, pgAdmin4 no está disponible en los repositorios de Ubuntu, de modo que será necesario instalarlo desde el repositorio APT pgAdmin4.
Para esto vamos a añadir la clave pública para el repositorio y luego crear el archivo de configuración del repositorio:
curl https://www.pgadmin.org/static/packages_pgadmin_org.pub | sudo apt-key add
Luego ejecutamos:
sudo sh -c 'echo "deb https://ftp.postgresql.org/pub/pgadmin/pgadmin4/apt/$(lsb_release -cs) pgadmin4 main" > /etc/apt/sources.list.d/pgadmin4.list && apt update'
Después de este proceso será posible instalar pgAmdin4, para ello ejecutamos:
sudo apt install pgadmin4
Ingresamos la letra “S” para confirmar la descarga e instalación, allí se instalarán los paquetes necesarios, incluyendo el servidor web Apache2. Este permite el acceso a aplicación pgadmin4-web desde un navegador web.
Cuando el proceso finalice veremos lo siguiente:
Es necesario saber la dirección IP de Ubuntu, para ello ejecutamos ip add:
Vamos a un navegador e ingresamos lo siguiente:
http://Direccion _IP/pgadmin4
Podemos dejar el correo por defecto y luego asignaremos una contraseña a este:
Ahora en un navegador ingresamos la sintaxis dada y debemos registrar el correo y contraseña creada anteriormente:
Podemos seleccionar el idioma deseado y damos clic en Login para acceder:
Una vez tengamos acceso veremos lo siguiente:
Allí debemos conectar el servidor PostgreSQL, para ello damos clic en “Agregar un Nuevo Servidor” y en la ventana emergente definimos:
Damos clic en “Salvar” y esto nos abrirá la gestión de PostgreSQL:
En el costado lateral izquierdo tendremos acceso a las herramientas de la base de datos, podemos navegar en las diferentes opciones disponibles:
Será posible ir a los roles de grupo para su control y gestión:
Gracias a PostgreSQL junto a pgAdmin4 tendremos una administración centralizada de todas las variables y aspectos de la base de datos para ser trabajados de una manera especial en cuanto a seguridad y funcionalidad de estas.