CREATE MATERIALIZED VIEW table_name
[ (column_name [, ...] ) ]
[ WITH ( storage_parameter [= value] [, ... ] ) ]
[ TABLESPACE tablespace_name ]
AS query
[ WITH [ NO ] DATA ]REFRESH MATERIALIZED VIEW name
[ WITH [ NO ] DATA ] CREATE VIEW comedies AS
SELECT *
FROM films
WHERE kind = 'Comedy'; INSERT INTO comedies (kind) VALUES ('Thriller'); CREATE VIEW universal_comedies AS
SELECT *
FROM comedies
WHERE classification = 'U'
WITH LOCAL CHECK OPTION; SELECT * FROM foo, LATERAL (SELECT * FROM bar WHERE bar.id = foo.bar_id) ss; SELECT * FROM foo, bar WHERE bar.id = foo.bar_id; CREATE EVENT TRIGGER name
ON event
[ WHEN filter_variable IN (filter_value [, ... ]) [ AND ... ] ]
EXECUTE PROCEDURE function_name() CREATE OR REPLACE FUNCTION abort_any_command()
RETURNS event_trigger
LANGUAGE plpgsql
AS $$
BEGIN
RAISE EXCEPTION 'command % is disabled', tg_tag;
END;
$$;
CREATE EVENT TRIGGER abort_ddl ON ddl_command_start
EXECUTE PROCEDURE abort_any_command(); CREATE TABLE foo (
id integer CONSTRAINT PRIMARY KEY,
title text
); CREATE TABLE bar (
id integer CONSTRAINT PRIMARY KEY,
id_foo integer,
title text
);ALTER TABLE barADD CONSTRAINT bar_fk1 FOREIGN KEY (id_foo) REFERENCES foo (id);
CREATE TRIGGER check_update
BEFORE UPDATE ON foo
FOR EACH ROW
EXECUTE PROCEDURE check_update_chack();