48.8. pg_authid

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

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

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

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

Таблица 48-8. Колонки pg_authid

ИмяТипОписание
oidoidИдентификатор строки (скрытый атрибут; должен выбираться явно)
rolnamenameИмя роли
rolsuperboolРоли имеет права суперпользователя
rolinheritboolРоль автоматически наследует права ролей, в которые она включена
rolcreateroleboolРоль может создавать другие роли
rolcreatedbboolРоль может создавать базы данных
rolcatupdateboolРоль может напрямую модифицировать системные каталоги. (Это не разрешено даже суперпользователю, если данное поле не равно true)
rolcanloginboolРоль может подключаться к серверу. То есть эта роль может быть указана в качестве начального идентификатора авторизации сеанса
rolreplicationboolРоль является ролью репликации. То есть эта роль может запускать потоковую репликацию (см. Подраздел 25.2.5) и включать/отключать режим резервного копирования, вызывая функции pg_start_backup и pg_stop_backup
rolconnlimitint4Для ролей, которые могут подключаться к серверу, это значение задаёт максимально разрешённое для этой роли число одновременных подключений. При значении -1 ограничения нет.
rolpasswordtextПароль (возможно, зашифрованный) или NULL, если его нет. Если пароль зашифрован, это значение начинается со строки md5, за которой идёт 32-символьный шестнадцатеричный хеш MD5. Хеш MD5 вычисляется для пароля пользователя с добавленным за ним его именем. Например, если у пользователя joe пароль xyzzy, PostgreSQL сохранит в этом поле md5-хеш строки xyzzyjoe. Если пароль не соответствует этому формату, считается, что он не зашифрован.
rolvaliduntiltimestamptzСрок действия пароля (используется только при аутентификации по паролю); NULL, если срок действия не ограничен