| From: | Peter Eisentraut <peter(at)eisentraut(dot)org> |
|---|---|
| To: | pgsql-committers(at)lists(dot)postgresql(dot)org |
| Subject: | pgsql: Preserve replica identity index across ALTER TABLE rewrite |
| Date: | 2020-03-13 12:31:44 |
| Message-ID: | E1jCjTc-0007EC-D0@gemulon.postgresql.org |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-committers |
Preserve replica identity index across ALTER TABLE rewrite
If an index was explicitly set as replica identity index, this setting
was lost when a table was rewritten by ALTER TABLE. Because this
setting is part of pg_index but actually controlled by ALTER
TABLE (not part of CREATE INDEX, say), we have to do some extra work
to restore it.
Based-on-patch-by: Quan Zongliang <quanzongliang(at)gmail(dot)com>
Reviewed-by: Euler Taveira <euler(dot)taveira(at)2ndquadrant(dot)com>
Discussion: https://www.postgresql.org/message-id/flat/c70fcab2-4866-0d9f-1d01-e75e189db342(at)gmail(dot)com
Branch
------
REL9_5_STABLE
Details
-------
https://git.postgresql.org/pg/commitdiff/c15d35041206dbe2fd8f57a18c6227a2312ddf0d
Modified Files
--------------
src/backend/commands/tablecmds.c | 42 +++++++++++++++++++++++
src/backend/utils/cache/lsyscache.c | 25 ++++++++++++++
src/include/utils/lsyscache.h | 1 +
src/test/regress/expected/replica_identity.out | 46 ++++++++++++++++++++++++++
src/test/regress/sql/replica_identity.sql | 21 ++++++++++++
5 files changed, 135 insertions(+)
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Peter Eisentraut | 2020-03-13 13:28:37 | pgsql: Remove am_syslogger global variable |
| Previous Message | Michael Paquier | 2020-03-13 06:12:02 | pgsql: Refactor compile-time assertion checks in c.h |