今天,我们的PostgreSQL数据库中的只读用户发生了一件神奇的事情。我们无法使用提供的用户名和密码登录数据库。它应该是有人更改了密码,但没有人。当我检查以下查询时:
SELECT * FROM pg_user WHERE usename='readonlyuser';
我知道valuntil值在只读用户和普通用户之间完全不同。普通用户的valuntil值是无穷大,而只读用户的值是NULL。我的问题是:当pq_user中的valuntil值为NULL时,PostgreSQL用户密码会过期多长时间?
答案 0 :(得分:1)
如果valuntil = NULL
,密码不会过期。
rolvaliduntil 密码到期时间(仅用于密码验证);如果没有过期,则为null
pg_user是pg_shadow的视图,其中包含pg_authid
的视图答案 1 :(得分:-1)
当输入的凭据错误或数据库本身关闭时,您将看到password authentication failed
。
如果问题是因为密码已过期,您将收到错误password expired
,并解决密码必须由超级用户重置。