Подтвердить что ты не робот

Проверьте, имеет ли роль в PostgreSQL набор паролей

Интересно, как я могу проверить, имеет ли роль (у пользователей только определенная роль) пароль, установленный в PostgreSQL 9.1.

Я пробовал команду \dg+ и \du+, но они не отображали вам что-либо связанное с паролем. Я также использовал следующий запрос, но это не помогает ни из-за его безразличия (я уверен, что пользователь postgresql не установил пароль в этом случае):

SELECT * FROM pg_user;

 usename  | usesysid | usecreatedb | usesuper | usecatupd | userepl |  passwd  | valuntil | useconfig 
----------+----------+-------------+----------+-----------+---------+----------+----------+-----------
 postgres |       10 | t           | t        | t         | t       | ******** |          | 
 aef      |    16201 | t           | t        | t         | t       | ******** |          | 
4b9b3361

Ответ 1

Пароли хранятся в pg_shadow

В документации:

Пароль (возможно, зашифрованный); null если нет. Подробнее см. Pg_authid. о том, как хранятся зашифрованные пароли.

Итак, вы должны select * from pg_shadow;

Вы также должны проверить таблицу pg_authid.