创建 postgresql 触发器或函数以从一个 table 中删除旧数据并插入别名 table

create postgresql trigger or function to delete old data from one table and insert into alias table

在 PostgreSQL 中,我想创建函数和触发器,它可以从 A table(包含很多行)中删除 8 天之前的旧数据,并将这些数据插入一个新别名 table。我想每天执行这个触发器。

历史table创作:

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;

计划

  1. 创建一个文件a.sql并将上述交易放入其中
  2. 添加到 cron psql -f a.sql

笔记 创建将删除每个语句上的数据的触发器是个坏主意