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

¿Cómo rastrear el progreso de la consulta en PostgreSQL?

Encontré una buena respuesta aquí:Seguimiento del progreso de una declaración de actualización

El truco es crear primero una secuencia (nómbrala como quieras):

CREATE SEQUENCE query_progress START 1;

Luego agregue a la parte WHERE de su consulta:

AND NEXTVAL('query_progress')!=0

Ahora puedes consultar el progreso:

SELECT NEXTVAL('query_progress');

Finalmente, no olvide deshacerse de la secuencia:

DROP SEQUENCE query_progress;

Tenga en cuenta que esto probablemente hará que su consulta se ejecute aún más lentamente y cada vez que verifique el progreso, aumentará adicionalmente el valor. El enlace anterior sugería crear una secuencia temporal, pero PostgreSQL no parece hacerlas visibles entre sesiones.