Простой метод для периодического обновления материализованных представлений PostgreSQL

PostgreSQL 9.3 начал поддерживать материализованные представления, добавил 9.4 вариант ОДНОВРЕМЕННО неблокируемые, но не поддерживает подобный START WITH ... ДАЛЕЕ ... сроки опции обновления Refresh.

Как добиться регулярного обновления материализованного представления? Baidu в основном является результатом следующих трех:

  • С операционными системами, такими как приуроченная задач Linux / Unix или Windows, в кронтаб;
  • С плагином pgAgent;
  • Использование триггера, как правило, на уровне заявление (... для каждого оператора ...).

В последнее время достигаем \ команды смотреть, мы нашли новый способ освежить материализованные представления.

Многое объяснение, прямо на примере кода:

- Создание материализованной просмотра
в CREATE материализовался VIEW MAX_ID_MVIEW
AS
  ЗЕЬЕСТ PART_ID, MAX (ID) max_id
  ОТ PART_DETAIL в GROUP BY PART_ID;
 
- без ОДНОВРЕМЕННО обновления , когда вам не нужно , чтобы создать уникальный индекс
CREATE UNIQUE INDEX IDX_MAX_ID ON MAX_ID_MVIEW (PART_ID );

- использовать часы команда обновляется каждые 120s материализованное представление
ОБНОВЛ MATERIALIZED VIEW ОДНОВРЕМЕННО MAX_ID_MVIEW; \ смотреть 120

Испытано эффективным, но недостатком является необходимость держать в окне Psql он был запущен.

рекомендация

отwww.linuxidc.com/Linux/2019-07/159605.htm