Conceptos básicos de Tech Lead sobre Postgres
8 ejemplos para empezar con el liderazgo técnico en Postgres: 5 básicos y 3 intermedios.
Busca en todas las páginas de la documentación
8 ejemplos para empezar con el liderazgo técnico en Postgres: 5 básicos y 3 intermedios.
psql "$DATABASE_URL" -c "SELECT version();"
psql "$DATABASE_URL" -c "SELECT count(*) FROM pg_stat_activity;"pg_stat_statements).Cada decisión mueve un vértice a expensas de otro.
| Cambio de prioridad | Elección de ejemplo | Compromiso |
|---|---|---|
| Aumento de corrección | Quorum de replicación síncrona | Mayor latencia de escritura, costo |
| Aumento de tiempo de actividad | Réplica HA adicional + Patroni | Gasto mensual, complejidad operativa |
| Reducción de costo | Menos réplicas, instancias más pequeñas | Mayor RTO, contención de análisis |
Relacionado: SLO de tiempo de actividad para almacenes de datos - presupuestos de error
Los cambios de esquema que rompen son cambios de API que rompen.
-- Rompiendo sin expandir/contraer
ALTER TABLE invoices ALTER COLUMN amount TYPE numeric(10,2); -- riesgo de reescritura
-- Ruta de expansión más segura
ALTER TABLE invoices ADD COLUMN amount_v2 numeric(12,2);
-- la aplicación escribe doble, rellena datos, cambia, elimina la columna antigua más tardeLos líderes técnicos establecen la política de pools; las aplicaciones la implementan.
max_connections = 200 en la instancia
PgBouncer pool_size = 80 por base de datos
Pods de aplicación = 40 x pool 20 = 800 conexiones de cliente → DEBE usar PgBouncerSELECT count(*), state FROM pg_stat_activity GROUP BY 2;Relacionado: Matemáticas de conexiones - fórmulas de dimensionamiento
Si no puedes verlo, no puedes liderarlo.
CREATE EXTENSION IF NOT EXISTS pg_stat_statements;
SELECT query, calls, mean_exec_time, rows
FROM pg_stat_statements
ORDER BY total_exec_time DESC
LIMIT 10;Aclara quién decide bajo presión.
| Decisión | Propietario | Consultar |
|---|---|---|
| Matar sesión bloqueadora | DBA de guardia | Líder de la aplicación |
| Conmutación por error | DBA + SRE | Responsabilidad del producto |
| Omitir índice para el lanzamiento | Líder técnico | Evidencia del DBA |
| Mes de actualización importante | Líder técnico + finanzas | Fin de vida de seguridad |
idle in transaction.Relacionado: Conceptos básicos de incidentes - roles
Foro semanal de 30 minutos para bases de datos compartidas.
## Agenda del Consejo de Bases de Datos
1. Migraciones pendientes (nivel de riesgo)
2. Cola de solicitudes de índices
3. Aprendizajes de incidentes
4. Actualizaciones de fin de vida y extensionesRastrea la deuda de la capa de datos como la deuda de la aplicación.
| ID | Elemento | Riesgo | Propietario | Objetivo |
|----|------|------|-------|--------|
| DB-12 | FK faltante en refunds.order_id | corrección | pagos | T3 |
| DB-18 | escaneo secuencial de orders_seq_scan 40% CPU | costo | plataforma | T2 |SELECT relname, seq_scan, idx_scan
FROM pg_stat_user_tables
WHERE seq_scan > idx_scan AND seq_scan > 10000;El líder técnico posee los estándares; los DBA de nivel staff poseen la profundidad de ejecución.
Relacionado: Crecimiento Profesional: DBA → Ingeniero de Datos Staff - camino de crecimiento
Versiones de Stack: Esta página fue escrita para PostgreSQL 18.4 (estable 18, mantenimiento 17), pgvector 0.8+, PgBouncer 1.x, Patroni 3.x y PostGIS 3.5+.
Revisado por Chris St. John·Última actualización: 16 jul 2026