Cómo instalar PostgreSQL y pgAdmin en Ubuntu 22.04
PostgreSQL o Postgres es una base de datos objeto-relacional de código abierto que implementa el lenguaje de consulta SQL. Tiene características avanzadas como transacciones fiables y concurrencia sin bloqueos de lectura, lo que nos permite construir entornos tolerantes a fallos y aplicaciones complejas.
pgAdmin es una herramienta de administración de código abierto para PostgreSQL. Es compatible con múltiples plataformas, incluyendo Windows, macOS y Linux.
Este tutorial te enseñará a instalar PostgreSQL 14 y pgAdmin 4 en un servidor Ubuntu 22.04.
Requisitos previos
- Un servidor con Ubuntu 20.04.
- Un usuario sudo no root.
- Un nombre de dominio completo (FQDN) como
pgadmin.example.com
. - Asegúrate de que todo está actualizado.
$ sudo apt update $ sudo apt upgrade
- Tu sistema necesita algunos paquetes.
$ sudo apt install wget curl nano software-properties-common dirmngr apt-transport-https gnupg2 ca-certificates lsb-release ubuntu-keyring unzip -y
Puede que algunos de estos paquetes ya estén instalados en tu sistema.
Paso 1 – Instalar PostgreSQL
Ubuntu 22.04 incluye PostgreSQL 14 por defecto. Para instalarlo, ejecuta el siguiente comando.
$ sudo apt install postgresql postgresql-contrib
El paquete postgresql-contrib
contiene algunas utilidades adicionales.
También puedes utilizar el repositorio APT oficial de PostgreSQL para realizar la instalación. Ejecuta el siguiente comando para añadir la clave GPG de PostgreSQL.
$ curl https://www.postgresql.org/media/keys/ACCC4CF8.asc | gpg --dearmor | sudo tee /usr/share/keyrings/postgresql-key.gpg >/dev/null
Añade el repositorio APT a tu lista de fuentes.
$ sudo sh -c 'echo "deb [signed-by=/usr/share/keyrings/postgresql-key.gpg arch=amd64] http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
Actualiza el repositorio del sistema.
$ sudo apt update
Ahora, puedes instalar PostgreSQL utilizando el comando mencionado anteriormente.
Comprueba el estado del servicio PostgreSQL.
$ sudo systemctl status postgresql ? postgresql.service - PostgreSQL RDBMS Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled) Active: active (exited) since Mon 2022-05-16 11:20:35 UTC; 5 days ago Process: 30544 ExecStart=/bin/true (code=exited, status=0/SUCCESS) Main PID: 30544 (code=exited, status=0/SUCCESS) CPU: 2ms May 16 11:20:35 postgresql systemd[1]: Starting PostgreSQL RDBMS... May 16 11:20:35 postgresql systemd[1]: Finished PostgreSQL RDBMS.
Puedes ver que el servicio está habilitado y funcionando por defecto.
Paso 2 – Uso de los roles y métodos de autenticación de PostgreSQL
Postgres utiliza un concepto llamado roles para gestionar la autenticación y el acceso a la base de datos. Un rol representa a un usuario o a un grupo de usuarios. Postgres no diferencia entre usuarios y grupos.
Postgres admite varios métodos de autenticación, como los siguientes
- Confianza – permite la conexión sin ninguna contraseña siempre que se cumplan las condiciones definidas en el archivo de configuración.
- Contraseña – es autoexplicativo y requiere una contraseña para acceder.
- Ident – este método sólo se admite en conexiones TCP/IP y es útil para conexiones remotas.
- Par – igual que Ident, pero sólo se utiliza para conexiones locales.
Por defecto, la instalación de Postgres utiliza el método de autenticación peer. Con este método, asocia un rol de Postgres con una cuenta de sistema Linux correspondiente. Si existe un rol, puedes conectarte utilizando una cuenta Linux con el mismo nombre de usuario.
La instalación de PostgreSQL crea una cuenta de usuario postgres
asociada al rol por defecto. Puedes cambiar a la cuenta postgres
en tu sistema utilizando el siguiente comando.
$ sudo -i -u postgres
Accede al shell de PostgreSQL utilizando el comando psql
.
postgres@howtoforge:~$ psql
Accederás al shell de PostgreSQL.
psql (14.3 (Ubuntu 14.3-1.pgdg22.04+1)) Type "help" for help. postgres=#
Escribe exit
o \q
para cerrar el shell.
También puedes acceder al shell PostgreSQL con un solo comando. El siguiente comando ejecuta el shell bajo la cuenta postgres
. Al salir del shell volverás a tu usuario actual del sistema.
$ sudo -u postgres psql
Paso 3 – Crear un nuevo rol
Puedes crear nuevos roles utilizando el comando createuser
o puedes crearlos desde el shell psql
. Para utilizar el comando createuser
, debes haber iniciado sesión con la cuenta postgres
. Si has iniciado sesión en postgres, ejecuta el siguiente comando para crear un nuevo rol.
postgres@howtoforge:~$ createuser --interactive
La bandera --interactive
te pedirá el nombre del rol y te preguntará si debe tener permisos de superusuario.
También puedes ejecutar el comando directamente desde tu cuenta.
$ sudo -u postgres createuser --interactive
Obtendrás el siguiente resultado.
Enter name of role to add: navjot Shall the new role be a superuser? (y/n) y
Para crear el rol desde el shell psql
, utiliza el siguiente comando una vez que estés en el shell.
postgres-# CREATE ROLE username WITH SUPERUSER CREATEDB CREATEROLE LOGIN ENCRYPTED PASSWORD 'yourpassword';
Aquí estamos creando el rol con permisos como Superusuario, Crear base de datos, Crear rol e Inicio de sesión.
Puedes comprobar la lista de todos los usuarios con el comando \du
.
postgres-# \du List of roles Role name | Attributes | Member of -----------+------------------------------------------------------------+----------- username | Superuser, Create role, Create DB | {} postgres | Superuser, Create role, Create DB, Replication, Bypass RLS | {}
Paso 4 – Crear una base de datos
Para crear una base de datos, utilizaremos el comando createdb
. Si has iniciado sesión con la cuenta postgres
, ejecuta el siguiente comando para crear una nueva base de datos.
postgres@howtoforge:~$ createdb howtoforge
También puedes ejecutar el comando desde tu cuenta.
$ sudo -u postgres createdb howtoforge
También puedes crear la base de datos utilizando el shell psql
. Para ello, ejecuta el siguiente comando desde la shell.
postgres-# CREATE DATABASE howtoforge;
Podemos conceder privilegios al usuario que acabamos de crear en la base de datos ejecutando el siguiente comando.
postgres-# GRANT ALL PRIVILEGES ON DATABASE howtoforge TO username;
Puedes comprobar la lista de todas las bases de datos con el comando \l
.
postgres-# \l List of databases Name | Owner | Encoding | Collate | Ctype | Access privileges -----------+----------+----------+-------------+-------------+----------------------- howtoforge| postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =Tc/postgres + | | | | | postgres=CTc/postgres+ | | | | | username=CTc/postgres postgres | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | template0 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres + | | | | | postgres=CTc/postgres template1 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres + | | | | | postgres=CTc/postgres (4 rows)
Paso 5 – Habilitar el acceso remoto
Por defecto, el servidor PostgreSQL sólo escucha en la interfaz localhost. Para habilitar el acceso remoto, abre el archivo /etc/postgresql/14/main/postgresql.conf
y cambia la línea #listen_addresses = 'localhost'
descomentándola y modificándola como se muestra a continuación en la sección CONEXIONES y AUTENTICACIÓN.
#------------------------------------------------------------------------------ # CONNECTIONS AND AUTHENTICATION #------------------------------------------------------------------------------ # - Connection Settings - listen_addresses = '*' # what IP address(es) to listen on;
Guarda el archivo pulsando Ctrl + X e introduciendo Y cuando se te solicite.
Reinicia el servicio PostgreSQL.
$ sudo systemctl restart postgresql
Para verificar el cambio, ejecuta el siguiente comando.
$ ss -nlt | grep 5432
Obtendrás la siguiente salida que muestra que PostgreSQL está escuchando en todas las interfaces.
LISTEN 0 244 0.0.0.0:5432 0.0.0.0:* LISTEN 0 244 [::]:5432 [::]:*
El siguiente paso es configurar el servidor para que acepte conexiones remotas. Esto se hace editando el archivo /etc/postgresql/14/main/pg_hba.conf
. Abre el archivo para editarlo.
$ sudo nano /etc/postgresql14/main/pg_hba.conf
Aquí puedes configurar el acceso a bases de datos individuales o a todas, y definir qué usuarios pueden acceder a ellas a través de qué interfaces. Para que funcione la autenticación por contraseña, elige scram-sha-256
como método de autenticación. Aquí tienes algunos ejemplos que puedes utilizar.
# TYPE DATABASE USER ADDRESS METHOD # The username can access all databases from all locations using scram-sha256 password host all username 0.0.0.0/0 scram-sha256 # The username can access only the howtoforge from all locations using scram-sha256 password host howtoforge username 0.0.0.0/0 scram-sha256 # The username can access all databases from a trusted location (192.168.1.134) without a password host all username 192.168.1.134 trust
Cuando hayas terminado, guarda el archivo pulsando Ctrl + X e introduciendo Y cuando se te pida.
Queda un último paso para que funcione el acceso remoto. Tendrás que abrir el puerto 5432 del cortafuegos. Ejecuta el siguiente comando para abrir el puerto.
$ sudo ufw allow 5432/tcp
Esto permitirá que cualquier dirección IP acceda a PostgreSQL. Sin embargo, deberás restringirlo a rangos de IP de confianza. Para ello, ejecuta en su lugar el siguiente comando. El siguiente comando permite el acceso a PostgreSQL desde la subred 192.168.1.0/24
.
$ sudo ufw allow proto tcp from 192.168.1.0/24 to any port 5432
Paso 6 – Instalar pgAdmin 4
pgAdmin se puede instalar como paquete de Ubuntu o utilizando Python. Al instalarlo como paquete de Ubuntu se instala por defecto el servidor Apache. Sin embargo, para nuestro tutorial utilizaremos Nginx. Por lo tanto, lo instalaremos utilizando la rueda de Python.
Crea los directorios data y log para pgAdmin.
$ sudo mkdir /var/lib/pgadmin $ sudo mkdir /var/log/pgadmin
Crea una carpeta app para pgAdmin.
$ sudo mkdir /opt/pgadmin
Cambia al usuario root.
$ sudo su -
Primero, instala varios paquetes importantes requeridos por Python.
$ apt install build-essential python3-dev python3-venv python3-pip
Crea un entorno virtual python y actívalo.
$ python3 -m venv /opt/pgadmin/venv $ source /opt/pgadmin/venv/bin/activate
Instala pgAdmin y uWSGI.
(venv) root@postgresql:-$ pip install --upgrade pip (venv) root@postgresql:-$ pip install --upgrade setuptools (venv) root@postgresql:-$ pip install wheel (venv) root@postgresql:-$ pip install pgadmin4 (venv) root@postgresql:-$ pip install uwsgi
Ejecuta el archivo de instalación de pgAdmin. Comprueba la ruta. Ubuntu 22.04 incluye Python 3.10 por defecto y, por tanto, está visible en la ruta. Asegúrate de que eliges la ruta correcta.
(venv) root@postgresql:-$ python3 /opt/pgadmin/venv/lib/python3.10/site-packages/pgadmin4/setup.py
Sigue las instrucciones de instalación y anota aquí tu correo electrónico y contraseña.
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: Retype password: pgAdmin 4 - Application Initialisation ======================================
Desactiva el entorno virtual.
(venv) root@postgresql:-$ deactivate
Vuelve a cambiar al usuario normal.
(venv) root@postgresql:-$ exit
Crea un nuevo usuario del sistema pgadmin
. Se utilizará para ejecutar los procesos pgAdmin.
$ sudo adduser --system --group --home /var/lib/pgadmin --disabled-login --shell /usr/sbin/nologin pgadmin
Como vamos a utilizar Nginx, dale la propiedad de los directorios anteriores junto con el usuario recién creado.
$ sudo chown -R pgadmin:nginx /var/lib/pgadmin /var/log/pgadmin /opt/pgadmin
Paso 7 – Integrar uWSGI y pgAdmin
El siguiente paso es crear un servidor WSGI que escuche en el socket UNIX /tmp/pgadmin.sock
. Crea un archivo de configuración uWSGI llamado pgadmin-uwsgi.ini
dentro de la carpeta /opt/pgadmin
.
$ sudo nano /opt/pgadmin/pgadmin-uwsgi.ini
Añádele el siguiente código. Asegúrate de que la versión de python en la ruta coincide con la versión instalada en tu sistema.
[uwsgi] socket = /var/lib/pgadmin/pgadmin4.sock chdir = /opt/pgadmin/venv/lib/python3.10/site-packages/pgadmin4/ module = pgAdmin4:application threads = 20 processes = 1 mount = /=pgAdmin4:app manage-script-name = true chmod-socket = 660
Guarda el archivo pulsando Ctrl + X e introduciendo Y cuando se te solicite.
Paso 8 – Crear el archivo de Servicio
Ahora que hemos configurado pgAdmin y uWSGI, necesitamos crear un archivo de unidad de servicio systemd para los mismos. El archivo de servicio permitirá al servidor iniciar automáticamente uWSGI y servir la aplicación pgAdmin 4 durante el arranque.
Crea y abre el archivo de servicio para editarlo.
$ sudo nano /etc/systemd/system/pgadmin-uwsgi.service
Pega en él el siguiente código.
[Unit] Description=pgadmin4 on uWSGI Requires=network.target After=network.target [Service] User=pgadmin Group=nginx Environment="PATH=/opt/pgadmin/venv/bin" ExecStart=/opt/pgadmin/venv/bin/uwsgi --ini /opt/pgadmin/pgadmin-uwsgi.ini [Install] WantedBy=multi-user.target
Guarda el archivo pulsando Ctrl + X e introduciendo Y cuando se te pida.
Como puedes ver, hemos elegido nginx
como grupo para ejecutar el proceso pgAdmin, ya que lo utilizaremos para el proxy.
Habilita e inicia el servicio uWSGI.
$ sudo systemctl enable pgadmin-uwsgi --now
Comprueba el estado del servicio.
$ sudo systemctl status pgadmin-uwsgi
Paso 9 – Instalar SSL
Antes de configurar Nginx, necesitamos instalar el certificado SSL.
Para instalar un certificado SSL utilizando Let’s Encrypt, necesitamos descargar la herramienta Certbot. Para ello utilizaremos el instalador de paquetes Snapd.
Instala el instalador Snap.
$ sudo apt install snapd
Asegúrate de que tu versión de Snapd está actualizada.
$ sudo snap install core $ sudo snap refresh core
Instala Certbot.
$ sudo snap install --classic certbot
Utiliza el siguiente comando para asegurarte de que se ejecuta el comando Certbot creando un enlace simbólico al directorio /usr/bin
.
$ sudo ln -s /snap/bin/certbot /usr/bin/certbot
Detén el servidor Nginx, ya que interfiere con la herramienta Certbot.
$ sudo systemctl stop nginx
Genera un certificado SSL.
$ sudo certbot certonly --standalone --agree-tos --no-eff-email --staple-ocsp --preferred-challenges http -m [email protected] -d pgadmin.example.com
El comando anterior descargará un certificado en el directorio /etc/letsencrypt/live/pgadmin.example.com
de tu servidor.
Genera un certificado de grupo Diffie-Hellman.
$ sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 4096
Crea un directorio raíz web de desafío para la renovación automática de Let’s Encrypt.
$ sudo mkdir -p /var/lib/letsencrypt
Crea un Cron Job para renovar el SSL. Se ejecutará cada día para comprobar el certificado y renovarlo si es necesario. Para ello, primero, crea el archivo /etc/cron.daily/certbot-renew
y ábrelo para editarlo.
$ sudo nano /etc/cron.daily/certbot-renew
Pega el siguiente código.
#!/bin/sh certbot renew --cert-name pgadmin.example.com --webroot -w /var/lib/letsencrypt/ --post-hook "systemctl reload nginx"
Guarda el archivo pulsando Ctrl + X e introduciendo Y cuando te lo pida.
Cambia los permisos del archivo de tareas para que sea ejecutable.
$ sudo chmod +x /etc/cron.daily/certbot-renew
Paso 10 – Instalar y configurar Nginx
Ubuntu incluye una versión antigua de Nginx. Para instalar la última versión, necesitas descargar el repositorio oficial de Nginx.
Importa la clave de firma de Nginx.
$ curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor \ | sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null
Añade el repositorio de la versión estable de Nginx.
$ echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg arch=amd64] \ http://nginx.org/packages/ubuntu `lsb_release -cs` nginx" \ | sudo tee /etc/apt/sources.list.d/nginx.list
Actualiza los repositorios del sistema.
$ sudo apt update
Instala Nginx.
$ sudo apt install nginx
Verifica la instalación.
$ nginx -v nginx version: nginx/1.20.2
Configurar Nginx
Crea y abre el archivo /etc/nginx/conf.d/pgadmin.conf
para editarlo.
$ sudo nano /etc/nginx/conf.d/pgadmin.conf
Pega en él el siguiente código.
server { listen 80; listen [::]:80; server_name pgadmin.example.com; return 301 https://$host$request_uri; } server { listen 443 ssl http2; listen [::]:443 ssl http2; server_name pgadmin.example.com; ssl_certificate /etc/letsencrypt/live/pgadmin.example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/pgadmin.example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/pgadmin.example.com/chain.pem; ssl_session_cache builtin:1000 shared:SSL:10m; ssl_session_timeout 5m; ssl_session_tickets off; ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384; ssl_prefer_server_ciphers on; ssl_ecdh_curve X25519:prime256v1:secp384r1:secp521r1; ssl_stapling on; ssl_stapling_verify on; ssl_dhparam /etc/ssl/certs/dhparam.pem; location /pgadmin4/ { include /etc/nginx/uwsgi_params; uwsgi_pass unix:/tmp/pgadmin4.sock; } }
Guarda el archivo pulsando Ctrl + X e introduciendo Y cuando se te pida.
Abre el archivo /etc/nginx/nginx.conf
para editarlo.
$ sudo nano /etc/nginx/nginx.conf
Añade la siguiente línea antes de la línea include /etc/nginx/conf.d/*.conf;
.
server_names_hash_bucket_size 64;
Guarda el archivo pulsando Ctrl + X e introduciendo Y cuando se te solicite.
Comprueba la sintaxis del archivo de configuración de Nginx.
$ sudo nginx -t nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Reinicia el servicio Nginx para habilitar la nueva configuración.
$ sudo systemctl restart nginx
Paso 11 – Configurar el Cortafuegos
Antes de acceder a pgAdmin, debemos asegurarnos de que los puertos del cortafuegos están abiertos. Si utilizas el cortafuegos ufw
, ejecuta los siguientes comandos para abrir los puertos HTTP y HTTPs.
$ sudo ufw allow 80/tcp $ sudo ufw allow 443/tcp
Comprueba el estado del cortafuegos.
$ sudo ufw status
Deberías ver una salida similar.
Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere 80/tcp ALLOW Anywhere 443/tcp ALLOW Anywhere 5432/tcp ALLOW 192.168.1.0/24 OpenSSH (v6) ALLOW Anywhere (v6) 80/tcp (v6) ALLOW Anywhere (v6) 443/tcp (v6) ALLOW Anywhere (v6)
Paso 11 – Acceder y configurar pgAdmin
Antes de acceder a pgAdmin, necesitamos establecer una contraseña para el usuario por defecto postgres
.
Abre el intérprete de comandos psql
.
$ sudo -u postgres psql
Ejecuta el siguiente comando para establecer una contraseña.
postgres-# \password postgres Enter new password for user "postgres": Enter it again:
Sal del intérprete de comandos.
postgres-# exit
Cambia también la propiedad del socket UNIX.
$ sudo chown nginx:nginx /var/lib/pgadmin/pgadmin4.sock
Abre la URL https://pgadmin.example.com
en tu navegador y verás la siguiente pantalla de inicio de sesión.
Introduce tus credenciales de usuario creadas en el paso 6 para iniciar sesión y acceder al siguiente panel de control.
El siguiente paso es añadirle el servidor PostgreSQL local. Haz clic en el botón Añadir nuevo servidor para empezar.
Dale un nombre a la conexión y pasa a la pestaña Conexión.
Introduce localhost
como nombre de host y deja en blanco el campo del puerto. Añade la contraseña creada anteriormente y marca la opción ¿Guardar contraseña? Pulsa el botón Guardar para terminar de añadir el servidor.
Una vez terminado, verás la siguiente pantalla del panel de control de tu servidor PostgreSQL.
Vamos a crear una nueva tabla y a añadir algunos datos a nuestra base de datos.
En el panel de control, haz clic en el signo de flecha situado junto a PostgreSQL – Local para desplegar el menú en forma de árbol. A continuación, expande las Bases de Datos, haz clic en el nombre de la base de datos que has añadido(howtoforge, en nuestro ejemplo), y luego en Esquemas. Deberías ver el siguiente menú.
Haz clic con el botón derecho en la opción Tablas y, a continuación, selecciona Crear >> Opciones del menú Tabla, como se muestra.
Esto abrirá la ventana emergente Crear tabla, como se muestra a continuación. Introduce un nombre para la tabla.
Cambia a la pestaña Columnas. Aquí definiremos algunas columnas básicas para la tabla.
Haz clic en el signo más para añadir la primera columna. La hemos llamado ID con un número entero como tipo de datos. Toda tabla debe tener una clave primaria. Para que el ID sea la clave primaria de la tabla, activa el botón Clave primaria.
A continuación, añadimos otra columna para Nombre con carácter variable como tipo de datos. Para restringir la longitud del nombre, hemos definido 30 como su longitud. Por ahora, esto es suficiente para nuestro ejemplo. Haz clic en el botón Guardar cuando hayas terminado para crear la tabla.
Ahora que tenemos nuestra tabla con algunas columnas, el siguiente paso es rellenar la tabla con algunos valores. Para añadir los datos, haz clic con el botón derecho del ratón sobre el nombre de tu tabla en el Navegador, mueve el cursor sobre Scripts y selecciona la opción INSERTAR Script.
Se abrirá una nueva pestaña en el panel de control con un comando INSERT
parcialmente rellenado. Sustituye el signo de interrogación por los datos que quieras rellenar. Aquí tienes los datos que hemos utilizado para nuestra tabla.
INSERT INTO public."table-01"( "ID", "Name") VALUES (1, 'Navjot'), (2, Adam), (3, 'Roxy');
Pulsa el botón del triángulo inclinado para ejecutar la consulta SQL y añadir los datos.
A continuación, querrás ver los datos que acabas de añadir. Para ello, haz clic con el botón derecho del ratón en el nombre de la tabla y selecciona la opción Ver/Editar datos y, a continuación, haz clic en la opción Todas las filas.
Esto abrirá otra pestaña en el panel de control con tus datos visibles en la pestaña Salida de datos del panel inferior.
Por fin has creado una base de datos y le has añadido algunos datos utilizando pgAdmin. Hay mucho más que puedes hacer utilizando pgAdmin.
PostgreSQL viene con utilidades incorporadas para hacer copias de seguridad y restaurar datos. pgAdmin las soporta de forma nativa, pero para que funcione, puede que necesites añadir la ruta a tus archivos binarios Postgre. Para ello, abre el menú Archivo en la parte superior y selecciona la opción Preferencias.
Se abrirá una nueva ventana emergente con un montón de preferencias. Selecciona la opción Rutas >> Rutas binarias de la barra lateral izquierda. A continuación, desplázate hasta la sección Ruta binaria PostgreSQL de la ventana emergente.
Introduce /usr/bin
como ruta delante de la entrada del servidor PostgreSQL 14 y selecciona la marca de verificación que lo cruza. Haz clic en el botón Guardar cuando hayas terminado. Deberías poder utilizar los comandos de copia de seguridad y restauración a través de la interfaz de pgAdmin.
Conclusión
Has aprendido a instalar PostgreSQL y pgAdmin en un servidor Ubuntu 22.04. También has configurado pgAdmin para conectar con el servicio PostgreSQL y realizar operaciones básicas. Si tienes preguntas, publícalas en los comentarios a continuación.