0

我在我的 postgres 数据库上每 60 天使用户密码无效时遇到一些问题:

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

这将在用户每次更改密码时起作用,但是在每次对记录发布任何更新时它也会起作用。如何确保它仅在更改密码事件时更新?

4

1 回答 1

1

触发器是更好的解决方案。从 9.0 版开始,它具有每列触发器,仅在更改特定列时触发的触发器。在旧版本中,您必须在函数内部进行检查,比较 OLD.password 和 NEW.password,然后再更新 user_expires 列。

于 2010-09-28T16:22:28.483 回答