我想在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')));