PostgreSQL
PostgreSQL y el sistema de bases de datos
Introducción a PostgreSQL como sistema relacional: arquitectura, procesos, almacenamiento, SQL, extensibilidad y responsabilidades operativas.
- Última actualización
- Actualizada
- Nivel
- Fundamentos
PostgreSQL
Introducción a PostgreSQL como sistema relacional: arquitectura, procesos, almacenamiento, SQL, extensibilidad y responsabilidades operativas.
PostgreSQL no es solamente un lugar donde guardar filas. Es un sistema que interpreta SQL, valida reglas, coordina transacciones concurrentes y protege la durabilidad de la información.
Una base de datos es una representación organizada de información y sus reglas. Un DBMS es el software que permite definirla, consultarla, modificarla, protegerla y recuperarla. PostgreSQL es un DBMS relacional de código abierto que funciona como servidor y extiende ampliamente el estándar SQL.
información del dominio
↓
modelo relacional
↓
PostgreSQL administra datos, reglas y concurrenciaPostgreSQL y SQL no son lo mismo:
Una aplicación, psql, un ORM o una herramienta gráfica actúan como clientes. Se conectan a un proceso servidor de PostgreSQL mediante una sesión.
aplicación o cliente
↓ conexión
backend process de PostgreSQL
↓
parser → rewrite → planner → executor
↓
shared buffers + WAL
↓
archivos de datosEn la arquitectura tradicional, cada conexión aceptada tiene un backend process dedicado. Los procesos comparten memoria y coordinación, pero cada sesión mantiene contexto propio: transacción actual, parámetros, prepared statements y objetos temporales.
Comprueba la sintaxis y construye una representación de la sentencia.
Aplica reglas internas, incluidas transformaciones relacionadas con views.
Evalúa caminos posibles: sequential scans, índices, algoritmos de join, ordenamientos y paralelismo. Selecciona un plan según estadísticas y un modelo de costes.
Ejecuta el plan y produce o modifica filas.
Cache administrada por PostgreSQL para páginas de datos. No es la única cache: el sistema operativo también participa.
Registra cambios necesarios para recuperación antes de que las páginas modificadas deban persistirse. WAL también alimenta replicación y point-in-time recovery. No es un audit log de negocio.
Procesos como checkpointer, background writer, WAL writer, autovacuum launcher y archiver realizan trabajo de mantenimiento y durabilidad.
SQLite se integra como biblioteca y guarda una database normalmente en un archivo. Es excelente para aplicaciones locales, pruebas y escenarios embebidos. PostgreSQL aporta servidor multiusuario, concurrencia, permisos, replicación y operación centralizada.
Ambos son DBMS relacionales maduros. La elección depende del workload, ecosistema, operación y capacidades utilizadas; no existe un ganador universal. PostgreSQL destaca por extensibilidad, tipos, SQL avanzado e integridad, pero eso no elimina el trabajo de diseñar y operar correctamente.
Una base documental puede encajar mejor cuando los documentos son la unidad natural, el esquema cambia por entidad o la distribución requerida favorece ese modelo. PostgreSQL ofrece JSONB para datos semiestructurados, pero usarlo para evitar relaciones conocidas suele perder constraints y claridad.
La arquitectura puede combinar herramientas. PostgreSQL no necesita resolver todos los problemas del sistema.
La documentación estable vigente corresponde a PostgreSQL 18.4. Las ramas 18, 17, 16, 15 y 14 reciben soporte oficial; PostgreSQL 19 continúa como versión de desarrollo. Cada major version recibe aproximadamente cinco años de soporte y los minor releases contienen correcciones compatibles dentro de la misma major version.
Consulta siempre la documentación actual (se abre en otra pestaña) y la política oficial de versiones (se abre en otra pestaña) antes de documentar comportamiento dependiente de release.
La ruta utilizará un dominio de pedidos e inventario que evoluciona poco a poco:
business
└─ branch
├─ product
├─ inventory
└─ order
├─ order_item
└─ paymentAl inicio solo identificaremos información y reglas. Después añadiremos tablas, constraints, transacciones, índices, planes, migraciones y operación. El objetivo no es construir un esquema gigante de una vez.
database cluster significa automáticamente varios servidores.database cluster en PostgreSQL?Abrir recurso