pgAdmin es una herramienta de gestión gratuita y de código abierto para PostgreSQL y bases de datos de relaciones derivadas como EDB Advanced Server. Se puede instalar en varias plataformas de SO como Linux, Unix, Mac OS X y Windows para administrar PostgreSQL 9.2 y superior.
Modo de implementación
pgAdmin se puede ejecutar como una aplicación web o de escritorio.
Despliegue del servidor
En la implementación del servidor (aplicación web), se implementa como una aplicación web detrás de un servidor web que se ejecuta como un proxy inverso o mediante la interfaz WSGI.
Implementación de escritorio
En la implementación de escritorio (aplicación de escritorio), se implementa para ejecutarse en modo de escritorio utilizando el tiempo de ejecución de escritorio para alojar la aplicación. Cuando el tiempo de ejecución se inicia desde la bandeja del sistema, ejecuta el servidor pgAdmin e inicia un navegador web para representar la interfaz de usuario.
En esta guía, instalaremos pgAdmin 4 en CentOS 7/RHEL 7 y Fedora 29/Fedora 28 como una aplicación web (implementación de servidor).
Requisitos
Instalar servidor PostgreSQL
Esta publicación asume que ya tiene PostgreSQL 9.2 y superior instalado en su sistema. De lo contrario, siga la publicación:Cómo instalar PostgreSQL 11/10 en CentOS 7/RHEL 7.
Configurar repositorio EPEL
Tendríamos que habilitar el repositorio EPEL para descargar paquetes dependientes para pgAdmin.
yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
Configurar el repositorio de PostgreSQL
pgAdmin 4 está disponible en el repositorio de PostgreSQL y su sistema ya debería tener el repositorio de PostgreSQL si ya completó la instalación de PostgreSQL. De lo contrario, agregue el repositorio de PostgreSQL usando el siguiente comando.
### PostgreSQL 11 ### # RHEL 7 # yum install https://download.postgresql.org/pub/repos/yum/11/redhat/rhel-7-x86_64/pgdg-redhat11-11-2.noarch.rpm # CentoS 7 # yum install https://download.postgresql.org/pub/repos/yum/11/redhat/rhel-7-x86_64/pgdg-centos11-11-2.noarch.rpm # Fedora 29 # dnf install https://download.postgresql.org/pub/repos/yum/11/fedora/fedora-29-x86_64/pgdg-fedora11-11-2.noarch.rpm # Fedora 28 # dnf install https://download.postgresql.org/pub/repos/yum/11/fedora/fedora-28-x86_64/pgdg-fedora11-11-2.noarch.rpm ### PostgreSQL 10 ## # RHEL 7 # yum install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-redhat10-10-2.noarch.rpm # CentoS 7 # yum install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-2.noarch.rpm # Fedora 29 # dnf install https://download.postgresql.org/pub/repos/yum/10/fedora/fedora-29-x86_64/pgdg-fedora10-10-4.noarch.rpm # Fedora 28 # dnf install https://download.postgresql.org/pub/repos/yum/10/fedora/fedora-28-x86_64/pgdg-fedora10-10-4.noarch.rpm
Instalar pgAdmin 4
Una vez que haya configurado el repositorio de PostgreSQL en su sistema, ejecute el siguiente comando para instalar pgAdmin 4.
### RHEL / CentOS ### yum -y install pgadmin4 ### Fedora ### dnf -y install pgadmin4
Inicie y habilite el servicio httpd.
systemctl start httpd systemctl enable httpd
Configurar pgAdmin 4
Tendríamos que hacer algunos cambios de configuración antes de acceder a pgAdmin 4.
Copie la configuración de ejemplo de pgAdmin 4.
cp /etc/httpd/conf.d/pgadmin4.conf.sample /etc/httpd/conf.d/pgadmin4.conf
Cree un registro de pgAdmin y directorios de datos.
mkdir /var/log/pgadmin4/ mkdir /var/lib/pgadmin4/
Crear/Editar archivo config_local.py.
vi /usr/lib/python2.7/site-packages/pgadmin4-web/config_local.py
Agregue la siguiente configuración.
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'
Cambie los permisos de los directorios para que Apache pueda escribir datos en ellos.
chown -R apache:apache /var/lib/pgadmin4/* chown -R apache:apache /var/log/pgadmin4/*
Ejecute el siguiente comando para crear una cuenta de usuario para la interfaz web de pgAdmin 4.
python /usr/lib/python2.7/site-packages/pgadmin4-web/setup.py
Salida:
NOTE: Configuring authentication for SERVER mode. Enter the email address and password to use for the initial pgAdmin user account: Email address: [email protected] Password: xxxxxxxxx Retype password: xxxxxxxxx pgAdmin 4 - Application Initialisation ======================================
Reinicie el servicio web de Apache.
systemctl restart httpd
Cortafuegos
Configura el firewall para que podamos acceder a pgAdmin 4 desde máquinas externas.
firewall-cmd --permanent --add-service=http firewall-cmd --reload
SELinux
Considere deshabilitar SELinux permanentemente para que pgAdmin 4 funcione correctamente.
Acceso pgAdmin 4
Abra un navegador web y vaya a la siguiente URL para acceder a la interfaz de pgAdmin 4.
http://ip.add.re.ss/pgadmin4Inicie sesión en la interfaz web de pgAdmin 4 con la dirección de correo electrónico y la contraseña que creó anteriormente.
Tras iniciar sesión correctamente, debería ver la interfaz de pgAdmin 4.
Para administrar un servidor PostgreSQL, deberá agregar un nuevo servidor. Haga clic en Agregar nuevo servidor.
Pestaña General:
Nombre:- Asigne un nombre a su servidor PostgreSQL
Pestaña Conexión:
Nombre de host/dirección:- Nombre de host o dirección IP del servidor PostgreSQL
Puerto:- 5432 (Dejar predeterminado) – Cámbielo si es necesario
Nombre de usuario:- Nombre de usuario con el que te estás conectando. En mi caso, es postgres.
Contraseña:- Contraseña para el usuario
Haga clic en Guardar para guardar los cambios.
Si la conexión al servidor PostgreSQL es exitosa, debería ver la siguiente página.
Resolución de problemas
Es posible que obtenga un mensaje Fatal:la autenticación de identidad falló para el usuario error.
Para solucionar el problema, edite pg_hba.conf
archivo.
### PostgreSQL 11 ### vi /var/lib/pgsql/11/data/pg_hba.conf ### PostgreSQL 10 ### vi /var/lib/pgsql/11/data/pg_hba.conf
Actualice la siguiente línea que se muestra a continuación.
# TYPE DATABASE USER ADDRESS METHOD host all all all md5
Reinicie el servicio PostgreSQL.
### PostgreSQL 11 ### systemctl restart postgresql-11 ### PostgreSQL 10 ### systemctl restart postgresql-10
Conclusión
Ha instalado correctamente pgAdmin 4 en CentOS 7/RHEL 7 y Fedora 29/Fedora 28 y le ha agregado una de sus instancias de PostgreSQL para administrar la base de datos. pgAdmin 4 es similar a phpPgAdmin en términos de administración de bases de datos PostgreSQL. Puede visitar la documentación de pgAdmin 4 para obtener más información.