Re: [PATCH] Use indexes on the subscriber when REPLICA IDENTITY is full on the publisher
Andres Freund <andres@anarazel.de>
From: Andres Freund <andres@anarazel.de>
To: Amit Kapila <amit.kapila16@gmail.com>
Cc: Önder Kalacı <onderkalaci@gmail.com>, "shiy.fnst@fujitsu.com" <shiy.fnst@fujitsu.com>, Marco Slot <marco.slot@gmail.com>, Tom Lane <tgl@sss.pgh.pa.us>, "wangw.fnst@fujitsu.com" <wangw.fnst@fujitsu.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2023-03-06T20:04:24Z
Lists: pgsql-hackers
Hi, On 2023-03-01 14:10:07 +0530, Amit Kapila wrote: > On Wed, Mar 1, 2023 at 12:09 AM Andres Freund <andres@anarazel.de> wrote: > > > > > I see this as a way to provide this feature for users but I would > > > prefer to proceed with this if we can get some more buy-in from senior > > > community members (at least one more committer) and some user(s) if > > > possible. So, I once again request others to chime in and share their > > > opinion. > > > > I'd prefer not having an option, because we figure out the cause of the > > performance regression (reducing it to be small enough to not care). After > > that an option defaulting to using indexes. > > > > Sure, if we can reduce regression to be small enough then we don't > need to keep the default as false, otherwise, also, we can consider it > to keep an option defaulting to using indexes depending on the > investigation for regression. Anyway, the main concern was whether it > is okay to have an option for this which I think we have an agreement > on, now I will continue my review. I think even as-is it's reasonable to just use it. The sequential scan approach is O(N^2), which, uh, is not good. And having an index over thousands of non-differing values will generally perform badly, not just in this context. Greetings, Andres Freund
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