优秀的编程知识分享平台

网站首页 > 技术文章 正文

PostgreSQL定期删除七天以前的记录

nanyue 2024-09-23 10:43:40 技术文章 4 ℃

postgresql函数(存储过程)介绍:PostgreSQL函数(存储过程) -PostgreSQL教程?
postgresql触发器介绍:PostgreSQL触发器 -PostgreSQL教程?

整体过程:

编写函数(存储过程)编写触发器触发函数,实现自动清理创建事件大于七天的记录功能。

创建函数:

CREATE OR REPLACE FUNCTION auto_del_user ()  RETURNS TRIGGER AS $res$ BEGIN     delete from user where create_time < (now() - interval '7 day');  	 return NULL;END;  $res$ LANGUAGE plpgsql;

创建触发器:

CREATE TRIGGER auto_del_user AFTER INSERT ON user  FOR EACH ROW EXECUTE PROCEDURE auto_del_user();

这里的触发策略是在每次插入的时候触发,可以根据自己需求修改策略。

通过触发器触发函数是需要函数有返回值的,如果开始没有返回值是不能修改的,要先删掉函数重新创建,删除函数使用drop function ...

最近发表
标签列表