sql >> Base de Datos >  >> RDS >> PostgreSQL

¿Cómo obtener un plan de ejecución para una consulta en ejecución en postgresql?

Espera, lo tengo funcionando. En postgresql.conf hay DOS configuraciones para precargar bibliotecas. El primero, shared_preload_libraries, no funcionará sin reiniciar. PERO el otro session_preload_libraries LO HARÁ. Por lo tanto, edite postgresql.conf para que tenga esta línea:

session_preload_libraries = 'auto_explain'

Luego recarga:

pg_ctl reload (or pg_ctlcluster 9.x main reload etc)

Luego modifique la base de datos para activarla:

alter database smarlowe set auto_explain.log_min_duration=1;

Y luego todas las conexiones nuevas obtienen planes autoexplicados.

Cambie la duración a la configuración de milisegundos que tenga más sentido para usted.