¿Cuál de los siguientes dos es más preciso?
select numbackends from pg_stat_database;
select count(*) from pg_stat_activity;
sql
database
postgresql
dbconnection
VP VP Murali
fuente
fuente
Respuestas:
Esos dos requisitos no son equivalentes. La versión equivalente de la primera sería:
En ese caso, esperaría que esa versión sea un poco más rápida que la segunda, simplemente porque tiene menos filas para contar. Pero no es probable que pueda medir la diferencia.
Ambas consultas se basan exactamente en los mismos datos, por lo que serán igualmente precisas.
fuente
La siguiente consulta es muy útil.
fuente
Definitivamente pueden dar resultados diferentes. El mejor es
Es porque incluye conexiones a los procesos del remitente WAL que se tratan como conexiones regulares y cuentan para
max_connections
.Ver max_wal_senders
fuente
Agregación de todas las sesiones de postgres por su estado (cuántas están inactivas, cuántas hacen algo ...)
fuente
El número de conexiones TCP te ayudará. Recuerde que no es para una base de datos particular
fuente
Al mirar el código fuente, parece que la consulta pg_stat_database le brinda la cantidad de conexiones a la base de datos actual para todos los usuarios. Por otro lado, la consulta pg_stat_activity proporciona el número de conexiones a la base de datos actual solo para el usuario que realiza la consulta.
fuente