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小时后更新我的表。
答案 0 :(得分:4)
pgAgent是您所需要的。看看这里:http://www.pgadmin.org/docs/1.8/pgagent.html
您可以创建作业,每15分钟执行一次,等等。
编辑:
在您的特定情况下,最好在一些登录失败后立即通过触发器锁定用户。
下一步是每15分钟运行一次pgAgent作业。通过此作业,您可以再次解锁此帐户,锁定时间超过15分钟。因此,您可以阻止想要锁定所有用户的DoS攻击。