Guías de PostgreSQL

Análisis breves y prácticos de las partes de PostgreSQL que muerden en producción. Sin relleno, comandos reales, compromisos honestos.

Rendimiento

Cómo leer EXPLAIN ANALYZE

Qué significan los costes, por qué los tiempos y filas reales son promedios por bucle, qué te dice BUFFERS y las trampas que hacen que los planes engañen a primera vista.

Rendimiento

Cómo elegir el índice adecuado

B-tree cubre la mayoría de los casos, pero GIN, GiST, BRIN, los índices parciales y de expresión tienen cada uno un momento en el que ganan por un orden de magnitud.

Operaciones

VACUUM, autovacuum y bloat de tablas

MVCC nunca actualiza una fila en su sitio. Adónde van las versiones muertas, cómo decide autovacuum cuándo limpiar y cómo detectar cuándo se está quedando atrás.

Concurrencia

Niveles de aislamiento de transacciones

Qué garantiza realmente Read Committed (menos de lo que crees), cuándo Repeatable Read y Serializable lanzan errores, y cómo reintentar correctamente.

Chuleta

Ver las consultas en ejecución

La consulta de pg_stat_activity que pegar, qué significan state y wait_event, y cómo averiguar quién está bloqueando a quién.

Chuleta

Terminar una consulta de forma segura

pg_cancel_backend frente a pg_terminate_backend, limpieza masiva de transacciones inactivas, y por qué kill -9 convierte una consulta en una caída del servicio.

Chuleta

Tamaño de tablas e índices

La consulta de las tablas más grandes, las tres funciones de tamaño desambiguadas, y por qué el tamaño en disco no es lo mismo que los datos vivos.

Referencia

Cheat sheet de PostgreSQL

Los comandos de cada día en una hoja imprimible: psql, actividad y bloqueos, kill, tamaños, vacuum, EXPLAIN, backup, privilegios, SQLSTATE.

Cómo están escritas estas guías

Cada guía se basa en cómo se comporta PostgreSQL realmente en producción, verificado contra la documentación oficial. Se centran en las preguntas que surgen cuando algo está lento o bloqueado a las 4 de la tarde de un día laborable, no en la exhaustividad por sí misma. Cuando un tema tiene una herramienta interactiva correspondiente en este sitio, la guía enlaza a ella.