Curaduría open-source · Python-first · en español

El catálogo

Nº24 · Almacenamiento

PostgreSQL

La base de datos relacional open-source de referencia, fiable y extensible.

Motor / BDIntroData Engineer·Data Scientistsql

¿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én

Nº24 · Actualizado 2026-06-08