From: | Horacio Miranda <hmiranda(at)gmail(dot)com> |
---|---|
To: | "Guillermo E(dot) Villanueva" <guillermovil(at)gmail(dot)com> |
Cc: | "Carlos T(dot) Groero Carmona" <ctonetg(at)gmail(dot)com>, pgsql-es-ayuda <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: intermitente query lenta |
Date: | 2025-02-18 09:38:02 |
Message-ID: | B659345A-B7B1-4265-AB72-12599FEE7C44@gmail.com |
Views: | Whole Thread | Raw Message | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
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 <guillermovil(at)gmail(dot)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 <ctonetg(at)gmail(dot)com <mailto:ctonetg(at)gmail(dot)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
From | Date | Subject | |
---|---|---|---|
Next Message | Álvaro Herrera | 2025-02-18 10:12:40 | Re: intermitente query lenta |
Previous Message | Guillermo E. Villanueva | 2025-02-18 02:59:44 | Re: intermitente query lenta |