psql materialized views are automatically updated

Update materialized view example

TABLE model.test the CREATE (
the above mentioned id SERIAL PRIMARY KEY,
name VARCHAR (60)
);

. Creating materialized views

MATERIALIZED VIEW AS model.test_materialized_view the CREATE
the SELECT * the FROM model.test;

. Create a unique index, because CONCURRENTLY synchronization update requires a unique index

UNIQUE INDEX ON model.test_materialized_view test_materialized_view_index the CREATE (the above mentioned id);

. Synchronous update, but needs to be triggered, it can not automatically trigger an update to the kind of oracle

CONCURRENTLY model.test_materialized_view MATERIALIZED VIEW REFRESH;

. Create a function to perform synchronization update trigger and execute the function

create or replace function update_test_materialized_view() returns trigger as $$
declare
begin
REFRESH MATERIALIZED VIEW CONCURRENTLY model.test_materialized_view;
return new;
end;
$$ language plpgsql;
CREATE TRIGGER update_test_materialized_view AFTER UPDATE ON model.test FOR EACH STATEMENT EXECUTE PROCEDURE update_test_materialized_view();
CREATE TRIGGER update_test_materialized_view AFTER UPDATE ON model.test FOR EACH STATEMENT EXECUTE PROCEDURE update_test_materialized_view();
CREATE TRIGGER update_test_materialized_view AFTER UPDATE ON model.test FOR EACH STATEMENT EXECUTE PROCEDURE update_test_materialized_view();

  


---------------------
Author: Resemble_
Source: CSDN
Original: https: //blog.csdn.net/qq_27657429/article/details/76643294
Disclaimer: This article as a blogger original article, reproduced, please attach Bowen link!

Guess you like

Origin www.cnblogs.com/telwanggs/p/11021497.html