Я пытаюсь вызвать refre sh для материализованного представления после вставки, обновления или удаления в другом материализованном представлении. Я пытаюсь использовать триггерную функцию для достижения этой цели. Сценарий выглядит следующим образом:
CREATE FUNCTION aza_ods_version1.populate_fact_churn_m()
RETURNS TRIGGER AS $$
BEGIN
REFRESH MATERIALIZED VIEW aza_ods_version1.fact_churn_monthly;
RETURN NULL;
END;
$$ LANGUAGE plpgsql;
CREATE TRIGGER refresh_fact_churn_monthly
AFTER INSERT OR UPDATE OR DELETE OR TRUNCATE
ON aza_ods_version1.fact_transactions
FOR EACH ROW
WHEN (OLD.* IS DISTINCT FROM NEW.*)
EXECUTE PROCEDURE aza_ods_version1.populate_fact_churn_m();
При попытке создать триггер я получаю эту ошибку; ОШИБКА: "fact_transactions" не является таблицей или представлением SQL состояние: 42809
Я думаю, что это так, потому что fact_transactions является материализованным представлением, а не представлением или таблицей. Есть ли способ, которым я могу достичь того, что я пытаюсь ??