检查PostgreSQL中的角色是否设置了密码

时间:2014-05-13 21:22:45

标签: postgresql admin

我想知道如何验证角色(用户只是一种特定类型的角色)是否在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 个答案:

答案 0 :(得分:23)

密码存储在pg_shadow

在文档中:

  

密码(可能是加密的);如果没有则为null。有关详细信息,请参阅pg_authid   加密密码的存储方式。

所以你应该select * from pg_shadow;

您还应该检查pg_authid表。