pgAdmin, una plataforma para administrar y desarrollar con PostgreSQL

Hace un tiempo os hablé de la base de datos PostgreSQL y cómo trabajar con ella en GNU/Linux. Pues bien, siguiendo esta estela, hoy hablaremos de pgAdmin. Se trata de una plataforma de administración y desarrollo de código abierto, para esta base de datos. La plataforma se puede utilizar tanto en GNU/Linux como en otros sistemas UNIX y like-UNIX, incluso en sistemas Microsoft Windows, a partir de la versión 9.2 de PostgreSQL. Está escrita en python.

En esta ocasión para la instalación voy a utilizar un sistema operativo CentOS 7. Lo primero de todo es añadir los repositorios de PostgreSQL al sistema, para ello debemos consultar esta página y descargar la última versión. Actualmente es la 10, en mi caso sería:

  1. wget https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-2.noarch.rpm
  2. rpm –ivh pgdg-centos10-10-2.noarch.rpm

Una vez hecho ya podemos realizar la instalación, previa actualización:

  1. yum update
  2. yum install pgadmin4-v2

Configuración de pgAdmin 4

Una vez ya lo tenemos instalado en el sistema, modificamos la configuración, donde indicamos donde nos guardará la base de datos del programa, además de otras ubicaciones como la de los registros de actividad:

  1. # vi /usr/lib/python2.7/site-packages/pgadmin4-web/config_distro.py
  2. LOG_FILE = '/var/log/pgadmin4/pgadmin4.log'
  3. SQLITE_PATH = '/var/lib/pgadmin4/pgadmin4.db'
  4. SESSION_DB_PATH = '/var/lib/pgadmin4/sessions'
  5. STORAGE_DIR = '/var/lib/pgadmin4/storage'

Utilizamos el siguiente script para crear la configuración de la base de datos del programa:

  1. # python /usr/lib/python2.7/site-packages/pgadmin4-web/setup.py
  2. NOTE: Configuring authentication for SERVER mode.
  3.  
  4. Enter the email address and password to use for the initial pgAdmin user account:
  5.  
  6. Email address: davidochobits@colaboratorio.net
  7. Password: Escribe la contraseña
  8. Retype password: Escribe la contraseña
  9. pgAdmin 4 - Application Initialisation
  10. ======================================

Cambiamos los propietarios del directorio donde está ubicada la base de datos:

  1. chown -R apache:apache /var/lib/pgadmin4
  2. chown -R apache:apache /var/log/pgadmin4

Por defecto, en las máquinas que utiliza en mi entorno de casa, tengo deshabilitado SELinux, si lo tenemos habilitado, debemos añadir:

  1. chcon -R -t httpd_sys_content_rw_t "/var/log/pgadmin4/"
  2. chcon -R -t httpd_sys_content_rw_t "/var/lib/pgadmin4/"

Creación del Host Virtual

Debemos crear el fichero de configuración para el host virtual:

  1. # vi /etc/httpd/conf.d/pgadmin4.conf
  2.  
  3. <VirtualHost *>
  4.     ServerName test.ochobitsunbyte.pw
  5.  
  6.     WSGIDaemonProcess pgadmin processes=1 threads=25
  7.     WSGIScriptAlias / /usr/lib/python2.7/site-packages/pgadmin4-web/pgAdmin4.wsgi
  8.  
  9.     <Directory "/usr/lib/python2.7/site-packages/pgadmin4-web/">
  10.         WSGIProcessGroup pgadmin
  11.         WSGIApplicationGroup %{GLOBAL}
  12.         Require all granted
  13.     </Directory>
  14. </VirtualHost>

Probamos la configuración de Apache escribiendo:

  1. apachectl configtest
  2. Syntax OK

Reiniciamos el servicio Apache:

  1. systemctl restart httpd
  2. Si tenemos el cortafuegos habilitado, debemos añadir las siguientes reglas:
  3. firewall-cmd --permanent --add-service=http
  4. firewall-cmd --reload
  5. success

Y voilà, ya podemos acceder.

Aquí os dejo una captura del producto tras realizar la instalación.

Fuentes de información:

yallalabs.com|pgadmin.org