PostgreSQL限制密码的有效期(每次增加180天)

文章介绍了如何在PostgreSQL中为新用户设置180天过期的密码,并在密码即将过期时更新密码有效期。主要内容包括创建用户时指定有效期和修改密码的SQL语句示例。
摘要由CSDN通过智能技术生成

一、创建用户时,指定密码在180天后过期

创建用户时,可以使用如下语句,自动在当前时间的基础上增加180天,作为这个用户密码的有效时间。等到密码到期后或者临近的时候,可以使用SQL修改用户密码,并且重新定义密码的有效期。(也可以直接指定时间,下面方法是为了不用自己算增加180天的天数)

postgres<16.1>(ConnAs[postgres]:PID[205270] 2024-02-19/12:04:30)=# select $$create user test10 with password 'qwerdfg345' valid until '$$||now()::timestamp(0) + '180 day'||$$';$$;

+----------------------------------------------------------------------------------+
|                                     ?column?                                     |
+----------------------------------------------------------------------------------+
| create user test10 with password 'qwerdfg345' valid until '2024-08-17 12:04:34'; |
+----------------------------------------------------------------------------------+
(1 row)

把生成的SQL粘贴执行。

postgres<16.1>(ConnAs[postgres]:PID[205270] 2024-02-19/12:04:34)=#  create user test10 with password 'qwerdfg345' valid until '2024-08-17 12:04:34';
CREATE ROLE

image.png

可以通过pg_roles这个视图查看用户的密码有效时间

select * from pg_roles where rolname='test10';

image.png

二、修改密码并增加密码有效期

密码到期后或者临近的时候,可以使用SQL修改用户密码,并且重新定义密码的有效期。

select $$ alter user test10 with password '1qaz@WSX345'  valid until '$$||now()::timestamp(0) + '180 day'||$$';$$;

使用上述语句可以拼接出重制用户密码有效期的语句,自动获取当前时间并且在此基础上增加180天,也可以直接填写相应的具体时间。

image.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小怪兽ysl

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值