¿Cómo sumergirse en el optimizador de PostgreSQL y rastrear cada paso que toma para optimizar la consulta?


8

Al igual que la estructura MEMO en SQL Server, que es una especie de "rastro de papel" de pasos que toma el optimizador para optimizar la consulta. ¿PostgreSQL tiene la estructura similar que registra los pasos que toma el optimizador?

Respuestas:


3

No, no hay una estructura o función detallada de auditoría / informes del optimizador.

Tu mejor herramienta es 'gdb'. A diferencia de MS SQL Server, PostgreSQL es de código abierto; simplemente puede construir con símbolos de depuración habilitados, adjuntar un depurador y rastrear exactamente lo que está haciendo.

Eso no significa que sea fácil, por supuesto. Un conjunto fijo de puntos de interrupción y macros gdb para producir un rastro de lo que está haciendo el planificador / optimizador sería muy bueno. No estoy al tanto de ninguna herramienta de este tipo en este momento.

gdbLos puntos de rastreo o perfpuntos de espacio del usuario serán muy útiles para usted.

También puede habilitar el registro de depuración detallado y algunos de los parámetros de rastreo para postgresql.confluego examinar los archivos de registro detallados resultantes.

Hay algo de documentación (a la que he agregado información sobre los árboles del plan de descarga, etc.) en las preguntas frecuentes del desarrollador de PostgreSQL: https://wiki.postgresql.org/wiki/Developer_FAQ . Esto puede ser útil. También debe leer los documentos principales del desarrollador.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.