mirror of
https://github.com/postgres/postgres.git
synced 2025-04-25 21:42:33 +03:00
Allow event trigger table_rewrite for ALTER MATERIALIZED VIEW
This event can happen when using SET ACCESS METHOD, as the data files of the materialized need a full refresh but this command tag was not updated to reflect that. The documentation is updated to track this behavior. Author: Onder Kalaci Discussion: https://postgr.es/m/CACawEhXwHN3X34FiwoYG8vXR-oyUdrp7qcfRWSzS+NPahS5gSw@mail.gmail.com Backpatch-through: 15
This commit is contained in:
parent
be6aadf07d
commit
522ae011fa
@ -242,7 +242,7 @@
|
||||
<entry align="center"><literal>X</literal></entry>
|
||||
<entry align="center"><literal>X</literal></entry>
|
||||
<entry align="center"><literal>-</literal></entry>
|
||||
<entry align="center"><literal>-</literal></entry>
|
||||
<entry align="center"><literal>X</literal></entry>
|
||||
<entry align="left"></entry>
|
||||
</row>
|
||||
<row>
|
||||
|
@ -42,7 +42,7 @@ PG_CMDTAG(CMDTAG_ALTER_FUNCTION, "ALTER FUNCTION", true, false, false)
|
||||
PG_CMDTAG(CMDTAG_ALTER_INDEX, "ALTER INDEX", true, false, false)
|
||||
PG_CMDTAG(CMDTAG_ALTER_LANGUAGE, "ALTER LANGUAGE", true, false, false)
|
||||
PG_CMDTAG(CMDTAG_ALTER_LARGE_OBJECT, "ALTER LARGE OBJECT", true, false, false)
|
||||
PG_CMDTAG(CMDTAG_ALTER_MATERIALIZED_VIEW, "ALTER MATERIALIZED VIEW", true, false, false)
|
||||
PG_CMDTAG(CMDTAG_ALTER_MATERIALIZED_VIEW, "ALTER MATERIALIZED VIEW", true, true, false)
|
||||
PG_CMDTAG(CMDTAG_ALTER_OPERATOR, "ALTER OPERATOR", true, false, false)
|
||||
PG_CMDTAG(CMDTAG_ALTER_OPERATOR_CLASS, "ALTER OPERATOR CLASS", true, false, false)
|
||||
PG_CMDTAG(CMDTAG_ALTER_OPERATOR_FAMILY, "ALTER OPERATOR FAMILY", true, false, false)
|
||||
|
@ -516,6 +516,11 @@ alter table rewriteme
|
||||
add column another int default -1,
|
||||
alter column foo type numeric(10,4);
|
||||
NOTICE: Table 'rewriteme' is being rewritten (reason = 4)
|
||||
-- matview rewrite when changing access method
|
||||
CREATE MATERIALIZED VIEW heapmv USING heap AS SELECT 1 AS a;
|
||||
ALTER MATERIALIZED VIEW heapmv SET ACCESS METHOD heap2;
|
||||
NOTICE: Table 'heapmv' is being rewritten (reason = 8)
|
||||
DROP MATERIALIZED VIEW heapmv;
|
||||
-- shouldn't trigger a table_rewrite event
|
||||
alter table rewriteme alter column foo type numeric(12,4);
|
||||
begin;
|
||||
|
@ -379,6 +379,11 @@ alter table rewriteme
|
||||
add column another int default -1,
|
||||
alter column foo type numeric(10,4);
|
||||
|
||||
-- matview rewrite when changing access method
|
||||
CREATE MATERIALIZED VIEW heapmv USING heap AS SELECT 1 AS a;
|
||||
ALTER MATERIALIZED VIEW heapmv SET ACCESS METHOD heap2;
|
||||
DROP MATERIALIZED VIEW heapmv;
|
||||
|
||||
-- shouldn't trigger a table_rewrite event
|
||||
alter table rewriteme alter column foo type numeric(12,4);
|
||||
begin;
|
||||
|
Loading…
x
Reference in New Issue
Block a user