pg_authid
Таблица pg_authid содержит информацию об идентификаторах авторизации (ролях).
Роль объединяет в себе понятия пользователей и групп.
Пользователь — это роль с установленным флагом rolcanlogin.
Любая роль (с rolcanlogin или без него) может включать другие роли в качестве членов.
См. pg_auth_members.
Поскольку этот каталог содержит пароли, он не должен быть открыт для всех.
pg_roles представляет собой доступное для чтения представление над pg_authid, в котором поле пароля скрыто.
Так как пользователи определяются глобально, таблица pg_authid является общей для всех баз данных в кластере Greengage DB: существует только одна копия pg_authid на систему, а не по одной на каждую базу данных.
| Столбец | Тип | Описание |
|---|---|---|
oid |
oid |
Идентификатор строки (скрытый атрибут; должен быть выбран явно) |
rolname |
name |
Имя роли |
rolsuper |
boolean |
Имеет ли роль привилегии суперпользователя |
rolinherit |
boolean |
Наследует ли роль привилегии ролей, членом которых она является |
rolcreaterole |
boolean |
Может ли роль создавать другие роли |
rolcreatedb |
boolean |
Может ли роль создавать базы данных |
rolcatupdate |
boolean |
Может ли роль напрямую обновлять системные каталоги.
Даже суперпользователь не может этого делать, если это поле не |
rolcanlogin |
boolean |
Может ли роль выполнять вход в систему. То есть эту роль можно использовать в качестве идентификатора авторизации при начале сессии |
rolreplication |
boolean |
Показывает, имеет ли роль права на репликацию.
То есть эта роль может запускать потоковую репликацию и включать/отключать режим резервного копирования с помощью |
rolconnlimit |
integer |
Для ролей, которые могут входить в систему, задает максимальное число одновременных соединений.
|
rolpassword |
text |
Пароль (возможно, зашифрованный); |
rolvaliduntil |
timestamptz |
Время истечения действия пароля (используется только для аутентификации по паролю); |
rolresqueue |
oid |
OID связанной ресурсной очереди в pg_resqueue |
rolcreaterextgpfd |
boolean |
Может ли роль создавать читающие внешние таблицы с использованием протокола GPFDIST |
rolcreaterexhttp |
boolean |
Может ли роль создавать читающие внешние таблицы с использованием протокола HTTP |
rolcreatewextgpfd |
boolean |
Может ли роль создавать пишущие внешние таблицы с использованием протокола GPFDIST |
rolresgroup |
oid |
OID связанной ресурсной группы в pg_resgroup |
Обратите внимание на следующее:
-
Для пароля, зашифрованного с помощью MD5, значение в столбце
rolpasswordбудет начинаться со строкиmd5, за которой следует 32-символьный шестнадцатеричный MD5-хеш. MD5-хеш будет рассчитан от пароля пользователя, объединенного с его именем пользователя. Например, если у пользователяjoeпарольxyzzy, Greengage DB хранит MD5-хеш от строкиxyzzyjoe. -
Если пароль зашифрован с помощью SCRAM-SHA-256, столбец
rolpasswordимеет формат:SCRAM-SHA-256$<iteration count>:<salt>$<StoredKey>:<ServerKey>
где
<salt>,<StoredKey>и<ServerKey>представлены в формате Base64. Этот формат соответствует описанию в RFC 5803. -
Если пароль зашифрован с использованием SHA-256, значение в столбце
rolpasswordпредставляет собой 64-символьную шестнадцатеричную строку с префиксомsha256.
Пароль, не соответствующий ни одному из этих форматов, считается незашифрованным.