From 02530da73f0438f7c2073267de6fe2be84f592d7 Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Fri, 13 Mar 2020 11:28:11 +0100 Subject: 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 Reviewed-by: Euler Taveira Discussion: https://www.postgresql.org/message-id/flat/c70fcab2-4866-0d9f-1d01-e75e189db342@gmail.com --- src/include/utils/lsyscache.h | 1 + 1 file changed, 1 insertion(+) (limited to 'src/include/utils/lsyscache.h') diff --git a/src/include/utils/lsyscache.h b/src/include/utils/lsyscache.h index e9ef5cba341..770972a2818 100644 --- a/src/include/utils/lsyscache.h +++ b/src/include/utils/lsyscache.h @@ -178,6 +178,7 @@ extern char *get_namespace_name(Oid nspid); extern char *get_namespace_name_or_temp(Oid nspid); extern Oid get_range_subtype(Oid rangeOid); extern Oid get_range_collation(Oid rangeOid); +extern bool get_index_isreplident(Oid index_oid); #define type_is_array(typid) (get_element_type(typid) != InvalidOid) /* type_is_array_domain accepts both plain arrays and domains over arrays */ -- cgit v1.2.3