Comment voir les connexions actives et “activité en cours” dans PostgreSQL 8.4

100

J'étudie un problème avec des connexions de base de données laissées indéfiniment ouvertes, ce qui pose des problèmes sur le serveur de base de données. Comment puis-je voir les connexions actuellement ouvertes vers un serveur PostgreSQL, en particulier celles utilisant une base de données spécifique? Idéalement, j'aimerais voir quelle commande est exécutée là aussi. En gros, je cherche quelque chose d’équivalent à la vue "Activité actuelle" dans MSSQL.

EMP
la source
à partir de PostgreSQL 9.0, vous verrez même le nom de l'application à l'origine du problème. c'est peut-être utile pour les futures vérifications.
postgresql007

Réponses:

138

OK, je l'ai eu de quelqu'un d'autre. Cette requête devrait faire l'affaire:

select *
from pg_stat_activity
where datname = 'mydatabasename';
EMP
la source
23

Voir aussi pg-top , qui agit comme top sauf qu'il montre l'activité postgres.

  • Installez pg-top (dans Debian, le paquet s'appelle "ptop").
  • Devenir l'utilisateur postgres (par exemple sudo su postgres)
  • Courir pg_top
Wayne Conrad
la source
Si difficile de trouver un exécutable Windows. Vous n'avez (presque) jamais la suite complète GCC ou Mingw sur un serveur Windows (ce n'est pas mon choix, ne m'en voulez pas).
oligofren
@oligofren Lancer Postgresql sur Windows est un peu une aventure, ne serait-ce que pour la simple raison que bon nombre d'outils et d'utilitaires sont écrits pour Linux.
Wayne Conrad
13

Référence tirée de cet article.

SELECT 
    pid
    ,datname
    ,usename
    ,application_name
    ,client_hostname
    ,client_port
    ,backend_start
    ,query_start
    ,query  
FROM pg_stat_activity
WHERE state <> 'idle'
AND pid<>pg_backend_pid();
Anvesh
la source
queryet pidont été nommés current_queryet procpid, et statene sont pas disponibles en pg_stat_activityavant PostgreSQL 9.2.
user369450
1

Deux façons de surveiller dans Ubuntu 18.04 , juste pour référence

Un utilisant pg_top:

$ sudo apt-get install ptop
$ pg_top # similar to top as others mentioned

Deux utilisant pgAdmin4:

$ sudo apt-get install pgadmin4 pgadmin4-apache2
# type in password and use default url
$ pgadmin4

Dans le tableau de bord, vérifiez le total / actif comme

entrez la description de l'image ici

Hearen
la source