Проверьте, имеет ли роль в 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 | ******** | |
Ответы
Ответ 1
Пароли хранятся в pg_shadow
В документации:
Пароль (возможно, зашифрованный); null если нет. Подробнее см. Pg_authid. о том, как хранятся зашифрованные пароли.
Итак, вы должны select * from pg_shadow;
Вы также должны проверить таблицу pg_authid.