Postgres规则每60天使用户密码无效

时间:2010-09-28 15:56:15

标签: postgresql passwords rules

我在postgres数据库中每隔60天使用户密码失效会遇到一些麻烦:

  

CREATE RULE user_expiration AS ON UPDATE TO users DO INSTEAD UPDATE user SET user_expires = user_expires + '60'

每次用户更改密码时都会有效,但每次对记录发出更新时,它也会起作用。如何确保它仅更新更改密码事件?

1 个答案:

答案 0 :(得分:1)

触发器是更好的解决方案。从版本9.0开始,它具有每column triggers个触发器,仅在某个列已更改时触发。在旧版本中,您必须在函数内部进行检查,在您希望更新user_expires列之前比较OLD.password和NEW.password。