49.8. pg_authid

В каталоге pg_authid содержится информация об идентификаторах для авторизации (ролях). Роль включает в себя концепции "пользователей" и "групп". Пользователь по существу представляет собой частный случай роли, с флагом rolcanlogin. Любая роль (с или без флага rolcanlogin) может включать другие роли в качестве членов; см. pg_auth_members.

Так как в этом каталоге содержатся пароли, он не должен быть открыт для всех. Для общего пользования предназначено представление pg_roles на базе pg_authid, в котором поле пароля очищено.

За подробной информацией о пользователях и управлении правами обратитесь к Гл. 20.

Так как пользователи определяются глобально, каталог pg_authid разделяется всеми базами данных кластера; есть только единственная копия pg_authid в кластере, а не отдельные в каждой базе данных.

Таблица 49-8. Столбцы pg_authid

ИмяТипОписание
oid oid Идентификатор строки (скрытый атрибут; должен выбираться явно)
rolname name Имя роли
rolsuper bool Роли имеет права суперпользователя
rolinherit bool Роль автоматически наследует права ролей, в которые она включена
rolcreaterole bool Роль может создавать другие роли
rolcreatedb bool Роль может создавать базы данных
rolcanlogin bool Роль может подключаться к серверу. То есть эта роль может быть указана в качестве начального идентификатора авторизации сеанса
rolreplication bool Роль является ролью репликации. То есть эта роль может запускать потоковую репликацию (см. Разд. 25.2.5) и включать/отключать режим резервного копирования, вызывая функции pg_start_backup и pg_stop_backup
rolbypassrls bool Роль не подчиняется никаким политикам защиты на уровне строк; за подробностями обратитесь к Разд. 5.7.
rolconnlimit int4 Для ролей, которые могут подключаться к серверу, это значение задаёт максимально разрешённое для этой роли число одновременных подключений. При значении -1 ограничения нет.
rolpassword text Пароль (возможно, зашифрованный) или NULL, если его нет. Если пароль зашифрован, это значение начинается со строки md5, за которой идёт 32-символьный шестнадцатеричный хеш MD5. Хеш MD5 вычисляется для пароля пользователя с добавленным за ним его именем. Например, если у пользователя joe пароль xyzzy, PostgreSQL сохранит в этом поле md5-хеш строки xyzzyjoe. Если пароль не соответствует этому формату, считается, что он не зашифрован.
rolvaliduntil timestamptz Срок действия пароля (используется только при аутентификации по паролю); NULL, если срок действия не ограничен