Перейти к основному содержимому

pg_authid

примечание

Эта страница переведена при помощи нейросети GigaChat.

Каталог pg_authid содержит информацию об идентификаторах авторизации базы данных (роли). Роли включают понятия «пользователи» и «группы». Пользователь – это просто роль с установленным флагом rolcanlogin. Любая роль (с или без rolcanlogin) может иметь другие роли в качестве членов; см. pg_auth_members.

Поскольку этот каталог содержит пароли, он не должен быть общедоступным. pg_roles — это общедоступное представление в pg_authid, которое опустошает поле пароля.

Раздел «Роли базы данных» содержит подробную информацию об управлении пользователями и привилегиями

Поскольку идентификаторы пользователей являются общекластерными, pg_authid распространяется на все базы данных кластера: на каждый кластер приходится только одна копия pg_authid, а не на каждую базу данных.

Столбцы pg_authid:

СтолбецТип данныхОписание
oidoidИдентификатор строки
rolnamenameимя роли
rolsuperboolРоль имеют привилегии суперпользователя
rolinheritboolРоль автоматически наследует привилегии ролей, членом которых он является
rolcreateroleboolРоль могут создавать другие ролей
rolcreatedbboolРоль может создавать базы данных
rolcanloginboolРоль может войти в систему. То есть эту роль можно задать в качестве первоначального идентификатора авторизации сеанса
rolreplicationboolЭта роль – роль репликации. Роль репликации может инициировать соединения репликации и создавать и удалять слоты репликации
rolbypassrlsboolРоль обходит все политики безопасности на уровне строк, (см. Раздел «Политики защиты строк» для получения дополнительной информации)
rolconnlimitint4Для ролей, которые могут войти в систему, это устанавливает максимальное количество одновременных подключений, которые может сделать эта роль. Значение -1 означает отсутствие лимита
rolpasswordtextПароль (возможно, засекреченный). Если NULL, значит его нет. Формат зависит от используемой формы засекречивания
rolvaliduntiltimestamptzВремя истечения срока действия пароля (используется только для аутентификации пароля). NULL, если срок действия не истекает

Для засекреченного пароля MD5 столбец rolpassword будет начинаться со строки md5, за которой следует 32-значный шестнадцатеричный хеш MD5. Хеш MD5 будет представлять собой пароль пользователя, связанный с его именем пользователя. Например, если у пользователя joe есть пароль xyzzy, PostgreSQL сохранит хеш MD5 xyzzyjoe.

Если пароль засекречен с помощью SCRAM-SHA-256, он имеет формат:

SCRAM-SHA-256$<iteration count>:<salt>$<StoredKey>:<ServerKey>

Где salt, StoredKey и ServerKey находятся в формате с кодировкой Base64. Этот формат идентичен формату, указанному в RFC 5803.

Предполагается, что пароль, который не соответствует ни одному из этих форматов, не засекречен.