繁体   English   中英

插入记录后24小时后执行postgres触发吗?

[英]Execute postgres trigger after 24 hours after record insertion?

我想在插入记录后24小时后执行触发器,对于每一行,该怎么做? 请帮忙

您知道,如果用户不验证其电子邮件,则其帐户将被删除。

没有cron等。

Postgres数据库。 PostgreSQL的

这可能与安排在特定时间运行sql命令有关。

PG代理

这是我测试过的命令,您可以在PGagent中使用它。

delete from email_tbl where email_id in(select email_id from email_tbl 
where timestamp < now() - '1 day'::interval );

这是我使用的测试数据。

CREATE EXTENSION citext;

CREATE DOMAIN email_addr AS citext
CHECK(
VALUE ~ '^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+[.][A-Za-z]+$' 
);


CREATE TABLE email_tbl (
email_id SERIAL PRIMARY KEY,
email_addr email_addr NOT NULL UNIQUE,
timestamp timestamp default current_timestamp
);

这是一些测试数据

insert into email_tbl (email_addr) values('me@home.net')

insert into email_tbl (email_addr,timestamp)
values('me2@home.net','2015-07-15 00:00:00'::timestamp)

select * from email_tbl where timestamp < now() - '1 day'::interval 

祝一切顺利

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM