From edca3424342da323499a1998d18a888283e52ac7 Mon Sep 17 00:00:00 2001 From: Amit Kapila Date: Fri, 14 Jul 2023 08:21:54 +0530 Subject: Allow the use of a hash index on the subscriber during replication. Commit 89e46da5e5 allowed using BTREE indexes that are neither PRIMARY KEY nor REPLICA IDENTITY on the subscriber during apply of update/delete. This patch extends that functionality to also allow HASH indexes. We explored supporting other index access methods as well but they don't have a fixed strategy for equality operation which is required by the current infrastructure in logical replication to scan the indexes. Author: Kuroda Hayato Reviewed-by: Peter Smith, Onder Kalaci, Amit Kapila Discussion: https://postgr.es/m/TYAPR01MB58669D7414E59664E17A5827F522A@TYAPR01MB5866.jpnprd01.prod.outlook.com --- doc/src/sgml/logical-replication.sgml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'doc/src') diff --git a/doc/src/sgml/logical-replication.sgml b/doc/src/sgml/logical-replication.sgml index c2a749d8828..e71f4bac69c 100644 --- a/doc/src/sgml/logical-replication.sgml +++ b/doc/src/sgml/logical-replication.sgml @@ -134,9 +134,9 @@ to replica identity FULL, which means the entire row becomes the key. When replica identity FULL is specified, indexes can be used on the subscriber side for searching the rows. Candidate - indexes must be btree, non-partial, and the leftmost index field must be a - column (not an expression) that references the published table column. These - restrictions on the non-unique index properties adhere to some of the + indexes must be btree or hash, non-partial, and the leftmost index field must + be a column (not an expression) that references the published table column. + These restrictions on the non-unique index properties adhere to some of the restrictions that are enforced for primary keys. If there are no such suitable indexes, the search on the subscriber side can be very inefficient, therefore replica identity FULL should only be used as a -- cgit v1.2.3