Обновление материализованного представления PostgreSQL автоматически без использования триггеров

11

Я создал материализованное представление с именем view_table_Aтаблицы сторонних данных table_A. Я хочу, чтобы представление автоматически обновлялось после каждой новой вставки в table_A. Я пытался сделать это с помощью триггеров, но это не сработало.

Можно ли автоматически обновлять материализованное представление без использования триггеров?

Джеймс
источник

Ответы:

11

Как сказано в комментарии a_horse_with_no_name :

Нет, это невозможно. Вам нужен какой-то планировщик, который запускает обновление материализованного представления, например, pg_cron или что-то на уровне операционной системы - a_horse_with_no_name

В качестве альтернативы, если вам нужна MATERIALIZED VIEWобновленная версия при запуске SELECT, просто удалите MATERIALIZEDи используйте обычный VIEW. Материализация только добавляет периодический кеш. Это нужно только тогда, когда сам запрос слишком медленный или горячий.

Эван Кэрролл
источник