PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Comment suivre la progression des requêtes dans PostgreSQL ?

J'ai trouvé une bonne réponse ici :Suivre la progression d'une instruction de mise à jour

L'astuce consiste à créer d'abord une séquence (nommez-la comme vous le souhaitez) :

CREATE SEQUENCE query_progress START 1;

Ajoutez ensuite à la partie WHERE de votre requête :

AND NEXTVAL('query_progress')!=0

Vous pouvez maintenant interroger la progression :

SELECT NEXTVAL('query_progress');

Enfin n'oubliez pas de vous débarrasser de la séquence :

DROP SEQUENCE query_progress;

Notez que cela rendra probablement votre requête encore plus lente et chaque fois que vous vérifierez la progression, la valeur augmentera en plus. Le lien ci-dessus suggérait de créer une séquence temporaire mais PostgreSQL ne semble pas les rendre visibles d'une session à l'autre.