Postgresql как посмотреть пользователей
select * from pg_shadow;
Список баз данных:
select * from pg_database;
Из командной строки:
psql -A -q -t -c «select datname from pg_database» template1
В современных версиях PostgreSQL можно просто набрать:
- Как в PostgreSQL посмотреть список активных баз и пользователей?
- PostgreSQL: справочник по командам psql, pg_dump, pg_restore
- 15 команд для управления PostgreSQL
- Начало работы с PostgreSQL
- Визуальные менеджеры и веб-консоли для работы с PostgreSQL
- Лучшие инструменты разработки для PostgreSQL
- Как получить HEX-представление для поля, хранящего массив байт (тип BYTEA) в PostgreSQL
- Как в Postgresql посмотреть список баз данных, как выбрать базу данных для работы
- Как узнать список таблиц с БД PostgreSQL
- Как узнать структуру таблицы в PostgreSQL в консоли psql
- Создание высоконадежного отказоустойчивого кластера БД на PostgreSQL и Patroni
- Как в PostgreSQL сохранить номер версии структуры базы данных или таблицы?
- Как правильно использовать разный регистр букв и кавычки в именах объектов PostgreSQL?
Поиск пользователя в PostgreSQL
Вопрос: В PostgreSQL есть запрос, который будет возвращать всех созданных пользователей?
Ответ: В PostgreSQL есть системная таблица с именем pg_user . Вы можете выполнить запрос к этой системной таблице, который возвращает всех пользователей, которые были созданы в PostgreSQL, а также информацию об этих пользователях.
Чтобы получить всех пользователей в PostgreSQL, вы можете выполнить следующий SQL-запрос:
SELECT usename
FROM pg_user;
Таблица pg_user содержит следующие столбцы:
| Столбец | Пояснение |
|---|---|
| usename | Имя пользователя (например: postgres, vaso и т.д.) |
| usesysid | Идентификатор пользователя (номер, назначенный PostgreSQL) |
| usecreatedb | Логическое значение, указывающее, может ли пользователь создавать базы данных (t или f) |
| usesuper | Логическое значение, указывающее, является ли пользователь суперпользователем (t или f) |
| usecatupd | Логическое значение, указывающее, может ли пользователь обновлять системные каталоги (t или f) |
| userepl | Логическое значение, указывающее, может ли пользователь инициировать репликацию (t или f) |
| passwd | Пароль для пользователя отображается как ******** |
| valuntil | Время истечения срока действия пароля |
| useconfig | Значения по умолчанию для переменных конфигурации во время выполнения |
POSTGRESQL — СПИСОК ПОЛЬЗОВАТЕЛЕЙ

В сегодняшней статье мы поговорим о том как можно посмотреть всех пользователей в базе данных PostgreSQL.
В PostgreSQL есть системная таблица по имени pg_user которая хранит в себе всю информацию о пользователях. Вы можете выполнить запрос к этой таблице которая возвращает всех пользователей, которые были созданы в PostgreSQL, а также информацию об этих пользователях.
sql> SELECT * FROM pg_user;

Описания полей таблицы:
- usename — Имя пользователя.
- usesysid — Идентификатор пользователя.
- usecreatedb — Может ли пользователь создавать базы данных.
- usesuper — Имеет ли пользователь права суперпользователя.
- userepl — Может ли пользователь инициировать потоковую репликацию, включать и отключать режим резервного копирования.
- usebypassrls — Подчиняется ли пользователь к каким либо политикам защиты на уровне строк.
- passwd — Пароль пользователя в виде звездочек.
- valuntil — Срок действия пароля.
- useconfig — Значения по умолчанию для переменных конфигурации во время выполнения.
Значения полей f значит false, а t значит true.
Всем спасибо, я надеюсь что вам моя статья хоть чем-то помогла.
Последнее обновление: 20 Июня 2023 г.
Список пользователей в PostgreSQL
В данной статье будет показано как посмотреть список пользователей в PostgreSQL. Это популярная свободная объектно-реляционная СУБД. Разработана сообществом PostgreSQL. СУБД широко применяется в различных сферах — от простых веб-сайтов до интернет-магазинов и государственных сайтов.
Имеет богатую функциональность, включающую в себя различные встроенные функции, поддержку многомерных массивов, геометрических данных. Также поддерживает JSON и наследование.
Список пользователей PostgreSQL
Вывести список всех пользователей, присутствующих в СУБД PostgreSQL можно двумя способами — при помощи встроенной команды в оболочке psql — \du и при помощи SQL запроса. Далее будут рассмотрены оба способа.
Вывод списка пользователей при помощи команды \du
Для использования данного метода необходимо перейти в оболочку psql. psql — это терминальный клиент для работы с PostgreSQL. Позволяет выполнять различные запросы к базе данных. Также в psql присутствуют так называемые метакоманды одной из которых как раз является команда du. Для входа в оболочку psql необходимо выполнить следующую команду в терминале:
sudo -u postgres psql

После ввода пароля пользователя, приглашение к вводу примет следующий вид:
Это означает что оболочка запущена от пользователя postgres. Данный пользователь присутствует в системе по умолчанию и имеет максимальные привилегии.
Для вывода списка всех пользователей присутствующих в PostgreSQL необходимо выполнить команду:

Команда \du выводит список пользователей (в терминологии postgres вместо слово пользователь используется слово роль) а также два дополнительных столбца — список атрибутов роли и членство роли если таковы имеются. Для выхода из команды необходимо нажать на клавишу q.
Вывод списка пользователей при помощи SQL запроса
Также вывести список пользователей можно при помощи SQL запроса. Для этого необходимо ввести следующий запрос в psql:
SELECT usename, usesuper, usecreatedb FROM pg_catalog.pg_user;

Помимо вывода имена пользователей данный запрос также сообщит является ли пользователь суперпользователем (аналог пользователя root в Linux системах).
Если у пользователя есть права суперпользователя, то отображается бука t — True (права есть) в противном случае отображается бука f — False (прав нет). А также будет отображено есть ли у пользователя права на создание баз данных (t — да, f — нет).
Выводы
В данной небольшой статье было показано как вывести список пользователей PostgreSQL, присутствующих в СУБД. Существует два метода. Какой использовать зависит исключительно от ваших предпочтений. Если у вас остались вопросы задавайте их в комментариях!