Entiende qué está haciendo realmente PostgreSQL

Herramientas gratuitas en el navegador y guías sin relleno para desarrolladores que trabajan con PostgreSQL a diario: leer planes de consulta, elegir el índice adecuado, mantener a VACUUM contento.

🔒 No se sube nada. Todo el análisis y procesamiento ocurre del lado del cliente, en tu navegador. Tus planes de consulta, consultas y datos nunca llegan a ningún servidor.

Herramientas

Herramienta

Visualizador de EXPLAIN ANALYZE

Pega la salida de EXPLAIN ANALYZE — texto plano o JSON — y obtén un flame graph más un árbol de plan interactivo: tiempos por nodo, desviaciones en las estimaciones de filas y volcados a disco resaltados automáticamente. Incluye enlaces para compartir.

Guías de PostgreSQL

Todas las guías →
Guía

Cómo leer EXPLAIN ANALYZE

Costes frente a tiempos reales, promedios por loop, buffers y las trampas clásicas que hacen que los planes te engañen.

Guía

Elegir el índice adecuado

B-tree, GIN, GiST, BRIN y compañía: para qué sirve cada tipo de índice, además de índices parciales, de expresión y de cobertura (covering).

Guía

VACUUM, autovacuum y bloat

Por qué MVCC deja filas muertas atrás, cómo decide autovacuum cuándo ejecutarse y cómo detectar una tabla que está sufriendo bloat.

Guía

Niveles de aislamiento de transacciones

Read Committed frente a Repeatable Read frente a Serializable en la práctica: anomalías, errores de serialización y cuándo reintentar.

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.

Referencia de errores de PostgreSQL

Todos los errores →
Error

deadlock detected

Dos transacciones retienen cada una un lock que la otra necesita. Cómo leer las líneas de DETAIL y las buenas prácticas de orden de locks que lo evitan.

Error

too many clients already

max_connections está agotado. Quién ocupa los slots y por qué la solución duradera suele ser un pooler, no un límite mayor.

Error

duplicate key value

Una restricción unique hizo su trabajo — la pregunta interesante es por qué: una carrera en el insert, una secuencia desactualizada o un cliente reintentando.

Error

relation does not exist

La tabla existe — simplemente no estás mirando donde mira PostgreSQL: search_path, identificadores entre comillas, base de datos equivocada.

¿Por qué pgviz?

Leer un plan de consulta crudo de PostgreSQL es difícil: los tiempos son acumulativos, los recuentos de filas son promedios por loop y los problemas interesantes (malas estimaciones, ordenaciones que se vuelcan a disco, nested loops costosos) se esconden en los detalles. Las herramientas de este sitio hacen la aritmética por ti y señalan lo que de verdad importa, y las guías explican los conceptos detrás de los números.

Todo aquí es gratuito, funciona sin conexión una vez cargado y no envía nada a ningún servidor. Junto a las herramientas encontrarás guías prácticas y una creciente referencia de errores comunes de PostgreSQL — qué significa cada uno, por qué ocurre y cómo solucionarlo. Vienen más: un generador de postgresql.conf y una calculadora de tamaño de índices.