Y hacer un script que guarde el explain (buffers,analyze) select … cuando el time se demore mas de 10 segundos ?
Lo corres a cada rato y de esa forma capturas el plan malo vs el plan bueno ? Algo como Lo dejas corriendo en el crontab, sera un poco pesado pero puede darte luces del plan que esta siguiendo. #!/bin/bash FILE=/tmp/output_$(date +%Y%m%d%H%M)”.log SECONDS=0 psql < consulta.sql > /tmp/output.txt if [ $SECONDS -gt 10 ] ; then cp /tmp/output.txt $FILE echo “Revisar $FILE fi > On 18 Feb 2025, at 3:59 PM, Guillermo E. Villanueva <guillermo...@gmail.com> > wrote: > > Gracias por tu comentario, si puse la query, no usa prepare, va directo. > > > El El lun, 17 feb 2025 a la(s) 23:57, Carlos T. Groero Carmona > <cton...@gmail.com <mailto:cton...@gmail.com>> escribió: >> Si, si estas usando prepared statements puede pasar, recisa esto: >> plan_cache_mode >> >> El valor por default is auto, trata de cambiarlo a forced_custom_plan >> >> Regards, >> Carlos