Cómo instalar PostgreSQL y pgAdmin en CentOS 8


PostgreSQL es un sistema de base de datos relacional de objetos avanzado, de código abierto, multiplataforma y potente, ampliamente utilizado, conocido por su probada arquitectura, confiabilidad, integridad de datos, robusto conjunto de características y extensibilidad.

pgAdmin es una herramienta de administración y gestión avanzada, de código abierto, con todas las funciones y basada en la web para el servidor de base de datos PostgreSQL.

En este artículo, aprenderá cómo instalar el servidor de base de datos PostgreSQL 12 y pgAdmin 4 en la distribución de Linux CentOS 8.

Paso 1: Instalar PostgreSQL en CentOS 8

1. Primero, desactive el módulo PostgreSQL incorporado ejecutando el siguiente comando dnf.

# dnf -qy module disable postgresql

2. A continuación, habilite el repositorio oficial de PostgreSQL Yum como se muestra.

# dnf install https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm

3. A continuación, instale los paquetes de cliente y servidor de PostgreSQL 12.

# dnf install postgresql12 postgresql12-server

4. Una vez que se complete la instalación, inicialice la base de datos PostgreSQL, luego inicie el servicio PostgreSQL-12 y habilítelo para que se inicie automáticamente al arrancar el sistema. Luego, verifique si el servicio está funcionando y habilitado como se muestra.

# /usr/pgsql-12/bin/postgresql-12-setup initdb 
# systemctl start postgresql-12
# systemctl enable postgresql-12
# systemctl status postgresql-12
# systemctl is-enabled postgresql-12

Paso 2: Asegure y configure la base de datos PostgreSQL

5. A continuación, proteja la cuenta de usuario de Postgres y la cuenta de usuario administrativo de la base de datos. Comience creando una contraseña para una cuenta de usuario del sistema Postgres usando la utilidad passwd como se muestra.

# passwd postgres

6. Luego cambie a la cuenta del sistema de Postgres y cree una contraseña segura y fuerte para el usuario/rol de la base de datos administrativa de PostgreSQL de la siguiente manera.

# su - postgres
$ psql -c "ALTER USER postgres WITH PASSWORD '[email protected]';"
$ exit

7. Ahora configure cómo el servidor de Postgres autenticará clientes como pgAdmin. Los métodos de autenticación admitidos incluyen la autenticación basada en contraseña que utiliza uno de estos métodos: md5, crypt o contraseña.

Para esta guía, configuraremos el método de autenticación md5 en el archivo /var/lib/pgsql/12/data/pg_hba.conf.

# vi /var/lib/pgsql/12/data/pg_hba.conf

Busque las siguientes líneas y cambie el método de autenticación a md5 como se resalta en la captura de pantalla.

host    all             all             127.0.0.1/32            md5
host    all             all             ::1/128                 md5

8. Después de guardar el archivo, para aplicar los cambios recientes en la configuración de Postgres, reinicie el servicio Postgres.

  
# systemctl restart postgresql-12

Paso 3: Instalar pgAdmin4 en CentOS 8

9. Ahora instalaremos pgAdmin 4 para administrar la base de datos PostgreSQL desde la web. Primero, debe habilitar los repositorios EPEL y PowerTools que contienen algunas de las dependencias.

# dnf install epel-release
# dnf --enablerepo=PowerTools install pgadmin4

10. A continuación, inicie el servicio httpd y habilítelo para que se inicie automáticamente al arrancar el sistema, luego verifique si está funcionando como se muestra.

# systemctl start httpd
# systemctl enable httpd
# systemctl status httpd

Paso 4: Configurar pgAdmin 4 en CentOS 8

11. Ahora cree un archivo de configuración para pgAdmin4 bajo la estructura de configuración httpd. Cree un nuevo archivo de configuración a partir del ejemplo proporcionado como se muestra.

# cp /etc/httpd/conf.d/pgadmin4.conf.sample /etc/httpd/conf.d/pgadmin4.conf

12. A continuación, asegúrese de que la sintaxis de configuración httpd sea correcta y reinicie el servicio.

# httpd -t
# systemctl restart httpd

13. Ahora necesita crear un directorio para los registros y bibliotecas de pgAdmin ejecutando los siguientes comandos.

# mkdir -p /var/lib/pgadmin4/
# mkdir -p /var/log/pgadmin4/

14. Luego, declare la ubicación/ruta del archivo de registro, la base de datos SQLite, la base de datos de sesión y el almacenamiento en el archivo de configuración de Python para pgAdmin en el archivo.

# vi /usr/lib/python3.6/site-packages/pgadmin4-web/config_distro.py

Copie y pegue las siguientes líneas en el archivo.

LOG_FILE = '/var/log/pgadmin4/pgadmin4.log'
SQLITE_PATH = '/var/lib/pgadmin4/pgadmin4.db'
SESSION_DB_PATH = '/var/lib/pgadmin4/sessions'
STORAGE_DIR = '/var/lib/pgadmin4/storage'

15. Ahora cree una cuenta de usuario para autenticarse en la interfaz web y también cree la base de datos de configuración.

# python3 /usr/lib/python3.6/site-packages/pgadmin4-web/setup.py

16. A continuación, establezca la propiedad requerida de los directorios pgAdmin creados recientemente.

# chown -R apache:apache /var/lib/pgadmin4
# chown -R apache:apache /var/log/pgadmin4

17. Si tiene SELinux habilitado, también configure el contexto SELinux correcto de los directorios de registro pgAdmin. Y permita que los scripts y módulos HTTPD (pgAdmin en este caso) se conecten a la red.

 
# chcon -t httpd_sys_rw_content_t /var/log/pgadmin4 -R
# chcon -t httpd_sys_rw_content_t /var/lib/pgadmin4 -R
# setsebool -P httpd_can_network_connect 1

18. Ahora reinicie el servicio httpd para aplicar todos los cambios recientes.

# systemctl restart httpd

18. Si tiene el servicio firewalld habilitado y en ejecución, abra los puertos 80 y 443 en el firewall para permitir el tráfico al servidor web HTTPD como se muestra.

# firewall-cmd --permanent --zone public --add-port 80/tcp
# firewall-cmd --permanent --zone public --add-port 443/tcp
# firewall-cmd --reload

Paso 5: Acceso a la interfaz web de pgAdmin

19. Para acceder a la interfaz web de pgAdmin, abra un navegador y navegue utilizando la siguiente URL.

http://SERVER_IP/pgadmin4
OR
http://localhost/pgadmin4

Una vez que se cargue la interfaz de inicio de sesión, utilice la dirección de correo electrónico y la contraseña que creó en el paso 15 anterior para iniciar sesión.

20. A continuación, agregue una nueva conexión de servidor haciendo clic en "Agregar nuevo servidor".

21. Luego, en la pestaña “General”, ingrese la siguiente configuración Nombre del servidor y, opcionalmente, deje un comentario para describir la conexión.

22. Luego defina el perfil de conexión completando lo siguiente:

  • Host – host/IP address of the PostgreSQL server.
  • Port – defaults to 5432.
  • Maintenance Database – defaults should be Postgres.
  • Username – the database username. You can use Postgres.
  • Password – password for the above user.

Luego haga clic en Guardar.

23. El nuevo servidor debería aparecer ahora en la lista de servidores como se resalta en la siguiente captura de pantalla.

24. Al hacer clic en el nombre del servidor, sus atributos deberían cargarse debajo del Panel de control como se muestra en la siguiente captura de pantalla.

¡Ahí tienes! Ha instalado correctamente Postgresql 12 y pgAdmin 4 en CentOS 8. Comuníquese con nosotros a través del formulario de comentarios a continuación para cualquier comentario o pregunta. Puede encontrar más información en la documentación de Postgresql 12 y la documentación de pgAdmin.