Re: CREATE OR REPLACE MATERIALIZED VIEW

Поиск
Список
Период
Сортировка
От Said Assemlal
Тема Re: CREATE OR REPLACE MATERIALIZED VIEW
Дата
Msg-id e55c4930-f788-4bb0-a684-743621d6cfc5@neurorx.com
обсуждение исходный текст
Ответ на Re: CREATE OR REPLACE MATERIALIZED VIEW  (Erik Wienhold <ewie@ewie.name>)
Ответы Re: CREATE OR REPLACE MATERIALIZED VIEW
Список pgsql-hackers
> That is expected because AccessExclusiveLock is acquired on the existing
> matview.  This is also the case for CREATE OR REPLACE VIEW.

Right, had this case many times.

>
> My initial idea, while writing the patch, was that one could replace the
> matview without populating it and then run the concurrent refresh, like
> this:
>
>      CREATE OR REPLACE MATERIALIZED VIEW foo AS ... WITH NO DATA;
>      REFRESH MATERIALIZED VIEW CONCURRENTLY foo;
>
> But that won't work because concurrent refresh requires an already
> populated matview.
>
> Right now the patch either populates the replaced matview or leaves it
> in an unscannable state.  Technically, it's also possible to skip the
> refresh and leave the old data in place, perhaps by specifying
> WITH *OLD* DATA.  New columns would just be null.  Of course you can't
> tell if you got stale data without knowing how the matview was replaced.
> Thoughts?


I believe the expectation is to get materialized views updated whenever 
it gets replaced so likely to confuse users ?







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

Предыдущее
От: Alexander Korotkov
Дата:
Сообщение: Re: Removing unneeded self joins
Следующее
От: Greg Sabino Mullane
Дата:
Сообщение: Re: Send duration output to separate log files