Hacker News new | ask | show | jobs
by garyclarke27 1434 days ago
Postgres is an amazing database. It’s only significant weakness now is in Materialized views, with their lack of incremental refresh. Was disappointing to see there was no progress towards this in v15.
3 comments

That work towards incrementally updated views is happening and progressing. For now, it's a separate extension, though: https://github.com/sraoss/pg_ivm.
I wanted incremental refresh in Postgres as well and found that you can manage your own table to get something close.

Basically you create a regular table in place of a materialised one, only aggregate data newer than what's currently in the table then store the new aggregates in table. Repeat this an interval.

https://github.com/cadbox1/prawn-stack/blob/master/src/backe...

I use this to show page view data aggregated by hour without calculating it on each request using Lambda

https://prawn.cadell.dev/

I also wish this were in core posgres, but if you use a build tool like DBT you can enable this type of thing.
Interestingly, DBT does not support creating materialized views.
yeah, this issue has been open for years. We need them for Clickhouse for our product.

https://github.com/dbt-labs/dbt-core/issues/1162

What's the effective difference between a matview and just a table?