Re: Delta Materialized View Refreshes?

Поиск
Список
Период
Сортировка
От Isaac Morland
Тема Re: Delta Materialized View Refreshes?
Дата
Msg-id CAMsGm5efZBWdMrW3R54mJaA=Ck0G9mqwH0aeYvtKPWYkw8ccJw@mail.gmail.com
обсуждение исходный текст
Ответ на Re: Delta Materialized View Refreshes?  (Jeremy Finzel <finzelj@gmail.com>)
Ответы Re: Delta Materialized View Refreshes?  (denty <denty@QQdd.eu>)
Список pgsql-hackers
On Fri, 14 Sep 2018 at 16:26, Jeremy Finzel <finzelj@gmail.com> wrote:

Could you apply something similar using triggers?
One question would be how PG would identify changes to existing rows - using the replication facilities to essentially replicate into the view? This would be quite tricky I reckon. Otherwise a change to the underlying table may not propagate correctly to the MV.

That's not what I had in mind.  I only mean when REFRESH MATERIALIZED VIEW is run, it gathers the results of the view in memory, then instead of essentially "wiping and reloading" the table, it would only write the differences.  So if 90% of the rows would be the same as before the refresh, we only update 10% of the rows.

On a related note, I've mused about allowing a WHERE clause on REFRESH MATERIALIZED VIEW. To start with, I imagine limiting it to refer to the columns of a primary key (which implies that primary key constraints would have to be allowed). As long as this is done, I think it's pretty clear what the semantics would have to be, at least as to the new view contents: the equivalent of DELETE with the WHERE clause, followed by INSERT of the view expression with the same WHERE clause applied.

В списке pgsql-hackers по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: stat() on Windows might cause error if target file is larger than 4GB
Следующее
От: Alvaro Herrera
Дата:
Сообщение: Re: Logical replication to partitioned subscriber