pgAdmin es la herramienta para administración de servidores de bases de datos PostgreSQL más popular y avanzada. Recientemente pasó de ser una aplicación de escritorio, a ser una aplicación Web Python desarrollada utilizando el microframework Flask (a partir de la versión 4).

La gran ventaja de pasar a ser una aplicación Web (del estilo phpMyAdmin) es que una simple instalación en un servidor permite que la misma aplicación sea utilizada por SysAdmins, DBAs y desarrolladores por igual. Sin preocuparse por su instalación en diferentes entornos, seguridad y confidencialidad de claves, etc. Cada usuario tiene su cuenta con la que accede a la aplicación, y todas las credenciales de acceso a los diferentes servidores de bases de datos Postgres quedan almacenadas de forma centralizada en la aplicación.

En este artículo voy a demostrar cómo instalar pgAdmin 4 en FreeBSD.

Debido a que pgAdmin 4 requiere Python 3, es necesario correrla dentro de un entorno virtual de Python (virtualenv). Instalar virtualenv para Python 3.6:

# pkg install py36-virtualenv

Luego crear un par de directorios necesarios para el funcionamiento de pgAdmin: /var/lib/pgadmin y /var/log/pgadmin. Otorgar los permisos necesarios para poder correrlo con un usuario no privilegiado (no root).

# mkdir /var/lib/pgadmin
# chmod 770 /var/lib/pgadmin
# mkdir /var/log/pgadmin
# chmod 770 /var/log/pgadmin

Instalar algunas dependencias necesarias (sqlite y gmp):

# pkg install py36-sqlite3 sqlite3
# pkg install py36-gmpy py36-gmpy2 gmp

Desde la cuenta de usuario no privilegiado que correrá la aplicación, crear el entorno virtual para pgAdmin:

$ rehash
$ virtualenv-3.6 venv-python-3.6
$ cd venv-python-3.6/

Desde el sitio oficial de pgAdmin, descargar la versión para instalar con pip:

$ wget https://ftp.postgresql.org/pub/pgadmin/pgadmin4/v3.0/pip/pgadmin4-3.0-py2.py3-none-any.whl

Instalar el paquete .whl utilizando pip:

$ bin/pip install pgadmin4-3.0-py2.py3-none-any.whl

Todo esto se realiza desde la cuenta no privilegiada donde se ha configurado el entorno virtual.

Finalmente es posible lanzar la aplicación ejecutado:

$ bin/python lib/python3.6/site-packages/pgadmin4/pgAdmin4.py

Al lanzar la aplicación por primera vez se solicita crear una cuenta de usuario para ingresar al panel:

emi@hal9000:~/venv-python-3.6 % bin/python lib/python3.6/site-packages/pgadmin4/pgAdmin4.py
NOTE: Configuring authentication for SERVER mode.

Enter the email address and password to use for the initial pgAdmin user account:

Email address: emiliano@linuxito.com
Password: 
Retype password:
pgAdmin 4 - Application Initialisation
======================================

Starting pgAdmin 4. Please navigate to http://127.0.0.1:5050 in your browser.

Inmediatamente se abre el puerto 5050 en el host local, desde el cual es posible conectarse con cualquier navegador Web:

http://localhost:5050

En caso de instalarlo en un servidor, es posible crear un script de inicio simple y definir un upstream en un servidor Nginx (como front-end).

Ingresar utilizando la cuenta de e-mail y contraseña especificadas al lanzar la aplicación:

La interfaz está bien lograda y, para mi gusto, es más amigable que la de phpMyAdmin (haciendo una comparación odiosa):


Tal vez pueda interesarte


Compartí este artículo