对不起,我对编写Postgres触发器非常陌生。
我想编写一个Postgre DB触发器,该触发器在UPDATE时触发 对Postgres中的表进行操作。
我的问题是:我是否正确编写了该触发器和相关功能?我已经测试了此代码,它确实可以工作,但不能确定它的美观或效率。可以改善吗?
触发后,此触发器调用一个函数,该函数将删除表中30天之前的任何数据。
谢谢您的阅读,希望您能为您提供帮助?
CREATE OR REPLACE FUNCTION expire_table() RETURNS trigger AS $expire_table$
BEGIN
DELETE FROM object_store WHERE purged_time < NOW() - INTERVAL '30 days';
RETURN NEW;
END;
$expire_table$ LANGUAGE 'plpgsql';
CREATE TRIGGER expire_table_trigger
AFTER UPDATE ON object_store
EXECUTE PROCEDURE expire_table()();