波斯格雷斯对过去n个月的看法



我想在Postgresql中将过去12个月的数据保存在物化视图中。

CREATE MATERIALIZED VIEW IF NOT EXISTS last_12_months AS 
SELECT a, b, c FROM mytable 
WHERE created_at > date_trunc('day',('now'::timestamp - '1 year'::interval)));

问题是"现在"是在视图创建中评估的,因此数据将永远增长,我希望有一个固定的数据范围。

我看到视图不接受参数。我想每天都要删除/创建视图,但我相信有更好的选择。

如果您需要,我发现了问题。原始解决方案和解决方案之间的区别是"现在"与现在((

CREATE MATERIALIZED VIEW IF NOT EXISTS last_12_months AS 
SELECT a, b, c FROM mytable 
WHERE created_at > date_trunc('day',(now() - interval '1 year')));

最新更新