在PostgreSQL中,我想创建函数和触发器,它可以从A表(包含许多行)中删除8天之前的旧数据,并将此数据插入到一个新的别名表中。我想每天执行这个触发器。
答案 0 :(得分:1)
创建历史记录表:
create table b as select * from a where false;
移动数据
begin;
insert into b select * from a where ts < (now() - '8 days'::interval);
delete from a where ts < (now() - '8 days'::interval);
end;
计划强>
psql -f a.sql
备注强> 创建将删除每个语句上的数据的触发器是一个坏主意