97 votes

Comment obtenir les utilisateurs actifs connectés à une base de données postgreSQL via SQL?

Comment obtenir les utilisateurs actifs connectés à une base de données postgreSQL via SQL? Cela peut être l'ID utilisateur ou le nombre d'utilisateurs.

122voto

balexandre Points 36115

(question) N'avez-vous pas obtenir de l'information au

sélectionnez * à partir de pg_user;

ou à l'aide de la vue

pg_stat_activity

Ajouté:

le point de vue dit:

Une ligne par processus serveur, montrant l'OID de la base de données, base de données, nom de l'ID du processus, l'utilisateur OID, nom d'utilisateur, de requête, la requête est en attente de statut, date à laquelle la requête en cours début de l'exécution, heure à laquelle le processus a été lancé, et l'adresse du client et le numéro de port. Les colonnes de données de rapport sur la requête en cours sont disponibles que si le paramètre stats_command_string a été désactivé. En outre, ces colonnes ne sont visibles que si l'utilisateur l'examen de la vue est un super-utilisateur ou le même que l'utilisateur propriétaire du processus qui sont rapportés.

ne pouvez-vous pas de filtre et d'obtenir cette information? qui seront les utilisateurs actuels sur la Base de données, vous pouvez utiliser le début de l'exécution de temps pour obtenir toutes les requêtes émanant des 5 dernières minutes par exemple...

quelque chose comme ça.

40voto

Sven Lilienthal Points 2654

En utilisant les informations de balexandre:

 SELECT usesysid, usename FROM pg_stat_activity;
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X