pgsql: Preserve replica identity index across ALTER TABLE rewrite
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@gmail.com>
Reviewed-by: Euler Taveira <euler.taveira@2ndquadrant.com>
Discussion: /messages/by-id/c70fcab2-4866-0d9f-1d01-e75e189db342@gmail.com
Branch
------
REL_10_STABLE
Details
-------
https://git.postgresql.org/pg/commitdiff/02530da73f0438f7c2073267de6fe2be84f592d7
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(+)