Lequel des deux suivants est le plus précis?
select numbackends from pg_stat_database;
select count(*) from pg_stat_activity;
sql
database
postgresql
dbconnection
Vice-président de Murali
la source
la source
Réponses:
Ces deux exigences ne sont pas équivalentes. La version équivalente de la première serait:
Dans ce cas, je m'attendrais à ce que cette version soit légèrement plus rapide que la seconde, simplement parce qu'elle a moins de lignes à compter. Mais vous ne serez probablement pas en mesure de mesurer une différence.
Les deux requêtes sont basées exactement sur les mêmes données, elles seront donc tout aussi précises.
la source
La requête suivante est très utile
la source
Ils peuvent certainement donner des résultats différents. Le meilleur est
C'est parce qu'il inclut des connexions aux processus d'expéditeur WAL qui sont traitées comme des connexions régulières et comptabilisées
max_connections
.Voir max_wal_senders
la source
Agrégation de toutes les sessions postgres par statut (combien sont inactives, combien font quelque chose ...)
la source
Le nombre de connexions TCP vous aidera. N'oubliez pas que ce n'est pas pour une base de données particulière
la source
En regardant le code source, il semble que la requête pg_stat_database vous donne le nombre de connexions à la base de données actuelle pour tous les utilisateurs. D'autre part, la requête pg_stat_activity donne le nombre de connexions à la base de données courante pour l'utilisateur qui interroge uniquement.
la source