Nº24 · Almacenamiento
PostgreSQL
La base de datos relacional open-source de referencia, fiable y extensible.
¿Qué es?
PostgreSQL es un sistema de gestión de bases de datos relacionales (RDBMS) open-source con más de 35 años de desarrollo activo. Es conocido por su robustez, cumplimiento del estándar SQL, y un ecosistema de extensiones que amplía sus capacidades mucho más allá del almacenamiento relacional clásico. Es software libre bajo la licencia PostgreSQL (similar a BSD/MIT).
¿Para qué sirve?
- Aplicaciones y OLTP. Almacena datos transaccionales de aplicaciones web, APIs y sistemas de negocio. Soporta transacciones ACID, claves foráneas, índices avanzados y tipos de datos ricos (JSON, arrays, geometrías con PostGIS).
- Analítica con extensiones. Con herramientas como TimescaleDB (series de tiempo) o pg_analytics / columnar storage, puede resolver cargas analíticas moderadas sin salir de SQL.
- Fuente para pipelines de datos. Es uno de los orígenes más comunes en stacks modernos: dbt lo usa como destino de transformaciones, Airbyte y similares lo replican, y Trino lo federa junto a otras fuentes.
¿Cuándo usarla / cuándo no?
Úsala cuando:
- necesitas consistencia transaccional (ACID) y relaciones bien definidas entre entidades,
- tu aplicación ya habla SQL y quieres un backend sólido sin gestionar infra distribuida,
- quieres un destino confiable para transformaciones con dbt o cargas desde un pipeline ETL.
Piénsalo dos veces cuando:
- la carga es analítica pura sobre archivos (Parquet, CSV, S3) — para eso DuckDB es más ágil y no necesita servidor,
- necesitas escala distribuida (petabytes, consultas paralelas masivas) — ahí entran Trino, BigQuery o similares,
- el acceso es mayoritariamente de lectura sobre datos históricos — un data warehouse columnar es más eficiente.
Empieza en 1 minuto
Levanta una instancia local con Docker:
docker run --name pg-demo \
-e POSTGRES_PASSWORD=secret \
-p 5432:5432 \
-d postgres:16
Conéctate y prueba:
docker exec -it pg-demo psql -U postgres
-- Crea una tabla de ejemplo
CREATE TABLE herramientas (
id SERIAL PRIMARY KEY,
nombre TEXT NOT NULL,
capa TEXT
);
INSERT INTO herramientas (nombre, capa)
VALUES ('PostgreSQL', 'storage'),
('dbt', 'transformation'),
('Trino', 'query');
SELECT nombre, capa FROM herramientas ORDER BY nombre;
Para profundizar, ve directo a la documentación oficial.
Trivia rápida — pon a prueba lo que acabas de leer.
¿Qué tanto sabes de PostgreSQL?
Documentación oficial
La fuente de verdad vive ahí. Acá orientamos; la profundidad la pones tú.
Abrir documentación oficial ↗Qué aprender después
Ver tambiénNº24 · Actualizado 2026-06-08