Как вы можете подключить активных пользователей к базе данных postgreSQL через SQL? - PullRequest
77 голосов
/ 21 января 2009

Как вы можете подключить активных пользователей к базе данных postgreSQL через SQL? Это может быть идентификатор пользователя или количество пользователей.

Ответы [ 2 ]

102 голосов
/ 21 января 2009

(вопрос) Разве вы не получаете эту информацию в

выберите * из pg_user ;

или используя представление pg_stat_activity :

select * from pg_stat_activity;

Добавлено:

вид говорит:

Одна строка на процесс сервера, показывающая OID базы данных, имя базы данных, ID процесса, OID пользователя, имя пользователя , текущий запрос, состояние ожидания запроса, время начала выполнения текущего запроса, время, когда процесс был запущен, и адрес клиента и номер порта . Столбцы, сообщающие данные по текущему запросу, доступны, если параметр stats_command_string не был отключен. Кроме того, эти столбцы видны только в том случае, если пользователь, изучающий представление, является суперпользователем или тем же пользователем, которому принадлежит процесс, о котором сообщается.

вы не можете отфильтровать и получить эту информацию? это будут текущие пользователи в базе данных, вы можете использовать начальное время выполнения, чтобы получить все запросы за последние 5 минут, например ...

что-то в этом роде.

38 голосов
/ 21 января 2009

Использование информации balexandre:

SELECT usesysid, usename FROM pg_stat_activity;
...