Re: doc: improve the restriction description of using indexes on REPLICA IDENTITY FULL table.

Amit Kapila <amit.kapila16@gmail.com>

From: Amit Kapila <amit.kapila16@gmail.com>
To: Masahiko Sawada <sawada.mshk@gmail.com>
Cc: PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2023-07-04T09:51:35Z
Lists: pgsql-hackers
On Mon, Jul 3, 2023 at 7:45 AM Masahiko Sawada <sawada.mshk@gmail.com> wrote:
>
> Commit 89e46da5e5 allowed us to use indexes for searching on REPLICA
> IDENTITY FULL tables. The documentation explains:
>
> When replica identity <quote>full</quote> is specified,
> indexes can be used on the subscriber side for searching the rows.  Candidate
> indexes must be btree, non-partial, and have at least one column reference
> (i.e. cannot consist of only expressions).
>
> To be exact, IIUC the column reference must be on the leftmost column
> of indexes. Does it make sense to mention that?
>

Yeah, I think it is good to mention that. Accordingly, the comments
atop build_replindex_scan_key(),
FindUsableIndexForReplicaIdentityFull(), IsIndexOnlyOnExpression()
should also be adjusted.

-- 
With Regards,
Amit Kapila.



Commits

  1. Remove unnecessary checks for indexes for REPLICA IDENTITY FULL tables.

  2. Allow the use of a hash index on the subscriber during replication.

  3. Doc: clarify the conditions of usable indexes for REPLICA IDENTITY FULL tables.

  4. Allow the use of indexes other than PK and REPLICA IDENTITY on the subscriber.