web-dev-qa-db-fra.com

Comment voir les connexions actives et "l'activité actuelle" dans PostgreSQL 8.4

J'examine un problème avec les connexions DB laissées ouvertes indéfiniment, provoquant des problèmes sur le serveur DB. Comment puis-je voir les connexions actuellement ouvertes à un serveur PostgreSQL, en particulier celles utilisant une base de données spécifique? Idéalement, j'aimerais également voir quelle commande s'exécute là-bas. Fondamentalement, je recherche quelque chose d'équivalent à la vue "Activité actuelle" dans MSSQL.

114
EMP

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

select *
from pg_stat_activity
where datname = 'mydatabasename';
154
EMP

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").
  • Devenez l'utilisateur postgres (par exemple Sudo su postgres)
  • Courir pg_top
27
Wayne Conrad

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();
16
Anvesh

Deux façons de surveiller 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

enter image description here

3
Hearen

PostgreSQL ASH Viewer (PASH Viewer) fournit une vue graphique des données d'historique de session actives. https://github.com/dbacvetkov/PASH-Viewer C'est gratuit et open source.

Capture d'écran

1
dcvetkov