Re: [PATCH] Use indexes on the subscriber when REPLICA IDENTITY is full on the publisher
Dilip Kumar <dilipbalaut@gmail.com>
From: Dilip Kumar <dilipbalaut@gmail.com>
To: Amit Kapila <amit.kapila16@gmail.com>
Cc: Önder Kalacı <onderkalaci@gmail.com>, "houzj.fnst@fujitsu.com" <houzj.fnst@fujitsu.com>, "shiy.fnst@fujitsu.com" <shiy.fnst@fujitsu.com>, "wangw.fnst@fujitsu.com" <wangw.fnst@fujitsu.com>, Marco Slot <marco.slot@gmail.com>, Tom Lane <tgl@sss.pgh.pa.us>, Andres Freund <andres@anarazel.de>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2023-03-06T13:55:37Z
Lists: pgsql-hackers
On Mon, Mar 6, 2023 at 4:45 PM Amit Kapila <amit.kapila16@gmail.com> wrote: > > On Mon, Mar 6, 2023 at 4:18 PM Dilip Kumar <dilipbalaut@gmail.com> wrote: > > > > On Mon, Mar 6, 2023 at 2:38 PM Önder Kalacı <onderkalaci@gmail.com> wrote: > > > > > I was going through the thread and patch, I noticed that in the > > initial version, we were depending upon the planner to let it decide > > whether index scan is cheaper or not and which index to pick. But in > > the latest patch if a useful index exists then we chose that without > > comparing the cost of whether it is cheaper than sequential scan or > > not. Is my understanding correct? What is the reason for the same, > > > > Yes, your understanding is correct. The main reason is that we don't > have an agreement on using the internal planner APIs for apply. That > will be a long-term maintenance burden. See discussion around email > [1]. So, we decided to use the current infrastructure to achieve index > scans during apply when publisher has replica identity full. This will > still be win in many cases and we are planning to provide a knob to > disable this feature. > > [1] - https://www.postgresql.org/message-id/3466340.1673117404%40sss.pgh.pa.us Okay, this makes sense, so basically, in "replica identify full" case instead of doing the default sequence scan we will provide a knob to either choose index scan or sequence scan, and that seems reasonable to me. -- Regards, Dilip Kumar EnterpriseDB: http://www.enterprisedb.com
Commits
-
Add the testcases for 89e46da5e5.
- 805b821e77a3 16.0 landed
-
Allow the use of indexes other than PK and REPLICA IDENTITY on the subscriber.
- 89e46da5e511 16.0 landed
-
Rework query relation permission checking
- a61b1f74823c 16.0 cited
-
Generalize ri_RootToPartitionMap to use for non-partition children
- fb958b5da86d 16.0 cited
-
Add wait_for_subscription_sync for TAP tests.
- 0c20dd33db16 16.0 cited
-
Logical replication
- 665d1fad99e7 10.0 cited