DEV Community

Cover image for Cómo instalar PostgreSQL en una instancia EC2 con Amazon Linux 2023
Brian
Brian

Posted on

Cómo instalar PostgreSQL en una instancia EC2 con Amazon Linux 2023

Si necesitas un servidor de base de datos robusto y confiable, PostgreSQL es una excelente opción.

En este tutorial, te guiaré paso a paso para instalar y configurar PostgreSQL en una instancia EC2 utilizando Amazon Linux 2023.


Paso 1: Actualizar el sistema

Asegúrate de que tu sistema esté actualizado antes de instalar cualquier paquete. Para ello, ejecuta el siguiente comando:

sudo dnf update -y
Enter fullscreen mode Exit fullscreen mode

Paso 2: Instalar PostgreSQL

Amazon Linux 2023 incluye PostgreSQL 15 en su repositorio predeterminado, por lo que no necesitas agregar repositorios adicionales. Para instalar PostgreSQL (cliente y servidor), ejecuta:

sudo dnf install postgresql15.x86_64 postgresql15-server -y
Enter fullscreen mode Exit fullscreen mode

💡 Tip: Si necesitas otra versión, verifica las disponibles con:

sudo dnf list postgresql*

Paso 3: Inicializar la base de datos

Inicializa el clúster de la base de datos PostgreSQL utilizando el siguiente comando:

sudo postgresql-setup --initdb
Enter fullscreen mode Exit fullscreen mode

Paso 4: Iniciar y habilitar el servicio de PostgreSQL

1. Inicia el servicio:

sudo systemctl start postgresql
Enter fullscreen mode Exit fullscreen mode

2. Habilita el servicio para que inicie automáticamente al arrancar el sistema:

sudo systemctl enable postgresql
Enter fullscreen mode Exit fullscreen mode

3. Verifica el estado del servicio:

sudo systemctl status postgresql
Enter fullscreen mode Exit fullscreen mode

📸 Aquí tienes un ejemplo de cómo debería verse el estado del servicio:

Estado del servicio PostgreSQL


Paso 5: Configurar PostgreSQL

1. Establecer contraseñas para el usuario postgres

Cambia la contraseña del usuario de sistema y del administrador de la base de datos:

sudo passwd postgres
su - postgres
psql -c "ALTER USER postgres WITH PASSWORD 'your-password';"
exit
Enter fullscreen mode Exit fullscreen mode

⚠️ Recomendaciones al configurar la contraseña

Cumple con los requisitos de seguridad:

  • Al menos una letra mayúscula y una minúscula.
  • Al menos un número.
  • Al menos un símbolo especial (.!@#$%^&*()).
  • Longitud mínima de 8 caracteres.

2. Configurar postgresql.conf

Crea un respaldo del archivo de configuración principal y luego edítalo:

sudo cp /var/lib/pgsql/data/postgresql.conf /var/lib/pgsql/data/postgresql.conf.bck
sudo vi /var/lib/pgsql/data/postgresql.conf
Enter fullscreen mode Exit fullscreen mode

Si necesitas que PostgreSQL escuche en todas las direcciones IP, cambia:

listen_addresses = '*'
Enter fullscreen mode Exit fullscreen mode

3. Configurar autenticación en pg_hba.conf

Crea un respaldo del archivo de autenticación y edítalo:

sudo cp /var/lib/pgsql/data/pg_hba.conf /var/lib/pgsql/data/pg_hba.conf.bck
sudo vi /var/lib/pgsql/data/pg_hba.conf
Enter fullscreen mode Exit fullscreen mode

Cambia ident a md5 para permitir conexiones con autenticación por contraseña:

host    all    all    0.0.0.0/0    md5
Enter fullscreen mode Exit fullscreen mode

4. Reinicia el servicio para aplicar los cambios:

sudo systemctl restart postgresql
Enter fullscreen mode Exit fullscreen mode

5. Crear un usuario y base de datos

Conéctate al servidor PostgreSQL como usuario postgres y ejecuta los siguientes comandos:

sudo -i -u postgres psql
CREATE USER yourusername WITH PASSWORD 'password';
CREATE DATABASE database_name;
GRANT ALL PRIVILEGES ON DATABASE database_name TO yourusername;
exit
Enter fullscreen mode Exit fullscreen mode

Para listar las bases de datos disponibles:

\l
Enter fullscreen mode Exit fullscreen mode

Paso 6: Acceso a la base de datos

Puedes conectarte a PostgreSQL localmente con:

psql -h localhost -U username -d database_name
Enter fullscreen mode Exit fullscreen mode

Para conexiones remotas, asegúrate de que el puerto 5432 esté permitido en el grupo de seguridad de tu instancia EC2.


⚠️ Configuraciones importantes de PostgreSQL

Como recordatorio, estas son algunas configuraciones clave de PostgreSQL que debes conocer:

Elemento de configuración Valor
Puerto predeterminado de PostgreSQL 5432
Usuario predeterminado postgres
Ubicación del archivo postgresql.conf /var/lib/pgsql/data
Ubicación del archivo pg_hba.conf /var/lib/pgsql/data
Base de datos predeterminada postgres
Directorio de datos predeterminado /var/lib/pgsql/data

¡Listo! 🎉

¡Eso es todo! Ahora tienes un servidor PostgreSQL configurado en tu instancia EC2 con Amazon Linux 2023.

Si tienes preguntas o necesitas ayuda para personalizar tu configuración, ¡déjalo en los comentarios! 👇🏻

Top comments (0)