当pq_user中的valuntil值为NULL时,PostgreSQL用户密码会过期多长时间?

时间:2017-08-21 03:11:13

标签: postgresql postgresql-9.5

今天,我们的PostgreSQL数据库中的只读用户发生了一件神奇的事情。我们无法使用提供的用户名和密码登录数据库。它应该是有人更改了密码,但没有人。当我检查以下查询时:

SELECT * FROM pg_user WHERE usename='readonlyuser';

我知道valuntil值在只读用户和普通用户之间完全不同。普通用户的valuntil值是无穷大,而只读用户的值是NULL。我的问题是:当pq_user中的valuntil值为NULL时,PostgreSQL用户密码会过期多长时间?

2 个答案:

答案 0 :(得分:1)

如果valuntil = NULL,密码不会过期。

来自documentation

  

rolvaliduntil 密码到期时间(仅用于密码验证);如果没有过期,则为null

pg_user是pg_shadow的视图,其中包含pg_authid

的视图

答案 1 :(得分:-1)

当输入的凭据错误或数据库本身关闭时,您将看到password authentication failed

如果问题是因为密码已过期,您将收到错误password expired,并解决密码必须由超级用户重置。