最近n个月的Postgres物化视图
Postgres materialized view of last n months
我想在 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)));
问题是 'now' 是在视图创建时计算的,所以数据会永远增长,我希望有一个固定范围的数据。
我看到视图不接受参数。我认为 drop/create 每天都会查看,但我确信还有更好的选择。
如果你需要,我发现了问题。原始和解决方案之间的区别是 'now' vs now()
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')));
我想在 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)));
问题是 'now' 是在视图创建时计算的,所以数据会永远增长,我希望有一个固定范围的数据。
我看到视图不接受参数。我认为 drop/create 每天都会查看,但我确信还有更好的选择。
如果你需要,我发现了问题。原始和解决方案之间的区别是 'now' vs now()
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')));