PostgreSQL: encuentre usuarios que iniciaron sesión en PostgreSQL

Los datos expuestos en este blog, son solo de índole informativo. Por favor realiza siempre una copia de seguridad antes de realizar cualquier cambio en tu proyecto.

PostgreSQL: encuentre usuarios que iniciaron sesión en PostgreSQL

Pregunta: ¿Hay alguna consulta para ejecutar que devolverá todos los usuarios que actualmente iniciaron sesión en PostgreSQL?

Respuesta: En PostgreSQL, hay una vista del sistema llamada pg_stat_activity que muestra los procesos actuales que se ejecutan en la base de datos. Puede ejecutar consultas en esta vista del sistema, que devuelve todos los usuarios que actualmente ejecutan procesos en la base de datos de PostgreSQL.

Para recuperar todos los usuarios que iniciaron sesión en PostgreSQL, puede ejecutar la siguiente instrucción SQL:

SELECT DISTINCT usename
FROM pg_stat_activity;

Esta declaración SELECT devolverá al usuario que actualmente ejecuta el proceso en PostgreSQL.

propina: Debe tener privilegios de superusuario para ver los procesos que pertenecen a otros usuarios. De lo contrario, solo podrá ver sus propios procesos.

La vista pg_stat_activity contiene las siguientes columnas:

Pilar explique
datos El ID de la base de datos en la que se ejecuta el proceso
nombre de datos El nombre de la base de datos en la que se ejecuta el proceso.
PID Identificacion de proceso
usar sysid ID de usuario (número asignado por PostgreSQL)
usa el nombre Nombre de usuario (es decir: postgres, prograrmaplus, etc.)
Nombre de la aplicación Nombre de la aplicación
dirección del cliente dirección del cliente
nombre de host del cliente Nombre de host del cliente
puerto de cliente número de puerto del cliente
backend_start
xact_start
inicio de consulta hora de inicio de la consulta
cambio_de_estado Consulta cuando cambió el estado
Espere Valor booleano (t o f) que indica el estado de espera de la consulta
Expresar Estado de consulta (es decir: inactivo, activo)
preguntar consulta actual
(Visited 10 times, 1 visits today)