5
CREATE TABLE em_user
(
  user_id character(10),
  last_attempt integer,
  last_unsuccessfull_login timestamp with time zone,
  is_locked boolean DEFAULT false);

UPDATE em_user
SET is_locked = TRUE
           WHERE last_attempt >3 AND last_unsuccessfull_login=last_unsuccessfull_login+'2 minutes';     

我想在 postgresql 中 1 小时后更新我的表。

4

1 回答 1

4

pgAgent 是你需要的。看看这里:http ://www.pgadmin.org/docs/1.8/pgagent.html

您可以创建每小时、每 15 分钟等执行的作业。

编辑:

在您的特定情况下,最好在多次登录失败后立即通过触发器锁定用户。

下一步是每 15 分钟运行一次 pgAgent 作业。通过这项工作,您可以再次解锁此帐户,这些帐户已锁定超过 15 分钟。因此,您可以防止想要锁定所有用户的 DoS 攻击。

于 2012-11-27T07:41:36.803 回答