Вопрос: Есть ли запрос, который вернет всех пользователей, которые в настоящее время зарегистрированы в PostgreSQL?
Ответ: В PostgreSQL есть системное представление с именем pg_stat_activity, которое показывает текущие процессы, выполняемые в базе данных. Вы можете запустить запрос к этому системному представлению, который возвращает всех пользователей, у которых в данный момент запущен процесс в базе данных PostgreSQL.
Чтобы получить всех пользователей, вошедших в PostgreSQL, вы можете выполнить следующий SQL-запрос:
1 2 |
SELECT DISTINCT usename FROM pg_stat_activity; |
Этот SELECT оператор возвращает пользователей, которые в данный момент выполняют процесс в PostgreSQL.
СОВЕТ. У вас должны быть права суперпользователя для просмотра процеccов, принадлежащих другим пользователям. В противном случае вы увидите только свои собственные процессы.