Proyecto desarrollado como solución al Reto Técnico DBA Semisenior, implementando actividades de administración, monitoreo, seguridad, automatización, recuperación y continuidad operativa sobre PostgreSQL.
Andrés Rico Quintero
- PostgreSQL 16
- pgAdmin 4
- Ubuntu 24.04 (WSL2)
- Windows 11
- Bash
- Git y GitHub
- Neon PostgreSQL Cloud
Windows 11
│
▼
WSL2 Ubuntu 24.04
│
▼
PostgreSQL 16
│
▼
pgAdmin 4
│
▼
Neon PostgreSQL Cloud
Actualizar paquetes:
sudo apt update
sudo apt upgrade -yInstalar PostgreSQL:
sudo apt install postgresql postgresql-contrib -yVerificar servicio:
sudo service postgresql statusArchivo:
/etc/postgresql/16/main/postgresql.conf
Configuración:
listen_addresses='*'Archivo:
/etc/postgresql/16/main/pg_hba.conf
Configuración:
host all all 172.28.70.0/24 scram-sha-256La base de datos implementa un sistema de ventas compuesto por:
- clientes
- empleados
- productos
- ventas
- detalle_venta
Relaciones:
- ventas → clientes
- ventas → empleados
- detalle_venta → ventas
- detalle_venta → productos
- Administración de PostgreSQL.
- Configuración del servidor.
- SQL avanzado.
- Procedimientos almacenados.
- Optimización de consultas.
- Índices.
- Monitoreo.
- Seguridad.
- Auditoría.
- Backups.
- Recuperación.
- Automatización.
- Base de datos en la nube.
- Soporte e incidencias.
| Archivo | Descripción |
|---|---|
| 01_tablas.sql | Creación del modelo de datos |
| 02_inserts.sql | Datos iniciales |
| 03_consultas.sql | SQL avanzado |
| 04_procedimientos.sql | Procedimientos almacenados |
| 05_indices.sql | Índices |
| 06_roles.sql | Roles y permisos |
| 07_mantenimiento.sql | Mantenimiento |
| 08_monitoreo.sql | Monitoreo |
| 09_seguridad.sql | Seguridad |
Script:
scripts/backup.sh
Funciones:
- Backup automático.
- Registro de logs.
- Reporte de tamaño de tablas.
- Detección de errores.
Configuración cron:
0 2 * * * /home/dbaadmin/backup.sh
Restauración:
sudo -u postgres psql empresa_ventas < backup.sqlRTO alcanzado: 3 minutos.
RPO alcanzado: 15 horas.
Herramientas utilizadas:
- pg_stat_activity
- pg_stat_database
- Dashboard pgAdmin
Consultas:
SELECT * FROM pg_stat_activity;Implementaciones:
- Contraseñas robustas.
- Restricción por IP.
- Roles separados.
- Principio de mínimo privilegio.
- Auditoría.
- SSL/TLS.
Proveedor:
Neon PostgreSQL
Características:
- PostgreSQL administrado.
- Conexiones SSL/TLS.
- Administración remota.
- Acceso mediante pgAdmin.
- Monitoreo integrado.
Parámetros de conexión:
Host: ep-xxxxxxxx.us-east-1.aws.neon.tech
Puerto: 5432
SSL: require
Cliente: pgAdmin 4
Por motivos de seguridad no se publican credenciales de acceso.
docs/
evidencias/
presentacion/
scripts/
sql/
README.md
| Punto | Estado |
|---|---|
| Administración | ✔ |
| SQL Avanzado | ✔ |
| Backup y Recovery | ✔ |
| Monitoreo | ✔ |
| Automatización | ✔ |
| Seguridad | ✔ |
| Soporte e incidencias | ✔ |
| Nube | ✔ |
| Documentación | ✔ |