# Configuración de PostgreSQL 11 en Ubuntu 20.04 ## Actualizar sistema y dependencias ``` sudo apt update sudo apt list --upgradable sudo apt upgrade sudo reboot ``` ## Configurar el Firewall ``` sudo ufw app list sudo ufw allow OpenSSH sudo ufw enable sudo ufw status ``` ## Importar la clave de firma del repositorio: ``` wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add - ``` ## Agregar el repositorio APT de PostgreSQL 11 ``` RELEASE=$(lsb_release -cs) ``` ``` echo "deb http://apt.postgresql.org/pub/repos/apt/ ${RELEASE}"-pgdg main | sudo tee /etc/apt/sources.list.d/pgdg.list ``` ## Verificar el contenido del archivo del repositorio ``` cat /etc/apt/sources.list.d/pgdg.list ``` > deb http://apt.postgresql.org/pub/repos/apt/ focal-pgdg main ## Instalación de PostgreSQL 11 en Ubuntu 20.04 ``` sudo apt update ``` ``` sudo apt -y install postgresql-11 ``` ## Verificar el estado de PostgreSQL ``` systemctl status postgresql ``` > ![](https://i.imgur.com/wDqAz8F.png) ## Chequear el acceso al servidor de base de datos PostgreSQL ``` sudo ss -tunelp | grep 5432 ``` ## Crear usuario y base de datos para PostgreSQL Ingresamos a PostgreSQL ``` sudo -u postgres psql ``` Creamos el usuario con permisos de administrador ``` CREATE ROLE name_user WITH LOGIN SUPERUSER CREATEDB CREATEROLE PASSWORD ‘P4sw0rd’ ; ``` Creamos la base de datos para el usuario ``` CREATE DATABASE my_db WITH OWNER name_user; ``` Salimos de PostgreSQL ``` exit ``` ## Configurar el archivo pg_hba.conf Editamos el archivo pg_hba.conf ``` sudo nano /etc/postgresql/11/main/pg_hba.conf ``` > Modificar peer por md5 ![](https://i.imgur.com/8GenwGn.png) > Modificar 127.0.0.1/32 por all ![](https://i.imgur.com/9BnMIV6.png) Reiniciamos el servicio PostgreSQL ``` sudo systemctl restart postgresql ``` ## Configurar el acceso remoto a PostgreSQL Editamos el archivo postgresql.conf ``` sudo nano /etc/postgresql/11/main/postgresql.conf ``` > Modificar 'localhost' por '*' y guardamos los cambios ![](https://i.imgur.com/wMXECFM.png) Reiniciamos el servicio PostgreSQL ``` sudo systemctl restart postgresql ``` ## Habilitar los puertos en el Firewall ``` sudo ufw allow postgresql ``` Verificamos los puertos ``` sudo ufw status ``` Chequeamos el acceso remoto al servidor de PostgreSQL ``` sudo ss -tunelp | grep 5432 ``` ![](https://i.imgur.com/6jAiGUA.png) ### Conexión remota habilitada