J'ai une requête de sélection très longue. Comment vais-je obtenir le statut de cette requête, comme sa durée de fonctionnement? Qu'il accède ou non aux données des tables.
Remarque: selon pg_stat_activity
la requête s'exécute comme active. Pas dans un état d'attente. Comme dans Oracle, nous pouvons voir le statut source/cible et l'état de traitement d'une requête - y a-t-il quelque chose comme ça dans postgresql?
Basé sur la réponse @Anshu que j'utilise:
SELECT datname, pid, state, query, age(clock_timestamp(), query_start) AS age
FROM pg_stat_activity
WHERE state <> 'idle'
AND query NOT LIKE '% FROM pg_stat_activity %'
ORDER BY age;
Cela ne peut pas encore être fait, mais est activé le TODO .
nous pouvons trouver le journal des requêtes par rapport à la base de données dans postgres.
select *
from pg_stat_activity
where datname = 'yourdatabasename'
Cela donnera un journal de requête actif de la base de données.