Re: [PATCH] Use indexes on the subscriber when REPLICA IDENTITY is full on the publisher
Peter Smith <smithpb2250@gmail.com>
From: Peter Smith <smithpb2250@gmail.com>
To: Amit Kapila <amit.kapila16@gmail.com>
Cc: Önder Kalacı <onderkalaci@gmail.com>, vignesh C <vignesh21@gmail.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-09T05:07:30Z
Lists: pgsql-hackers
On Thu, Mar 9, 2023 at 3:49 PM Amit Kapila <amit.kapila16@gmail.com> wrote: > > On Wed, Mar 8, 2023 at 8:44 PM Önder Kalacı <onderkalaci@gmail.com> wrote: > > > >> > >> I felt that once you remove the create publication/subscription/wait > >> for sync steps, the test execution might become faster and save some > >> time in the local execution, cfbot and the various machines in > >> buildfarm. If the execution time will not reduce, then no need to > >> change. > >> > > > > So, as I noted earlier, there are different schemas. As far as I count, there are at least > > 7 different table definitions. I think all tables having the same name are maybe confusing? > > > > Even if I try to group the same table definitions, and avoid create publication/subscription/wait > > for sync steps, the total execution time of the test drops only ~5%. As far as I test, that does not > > seem to be the bottleneck for the tests. > > > > Well, I'm really not sure if it is really worth doing that. I think having each test independent of each > > other is really much easier to follow. > > > > This new test takes ~9s on my machine whereas most other tests in > subscription/t take roughly 2-5s. I feel we should try to reduce the > test timing without sacrificing much of the functionality or code > coverage. I think if possible we should try to reduce setup/teardown > cost for each separate test by combining them where possible. I have a > few comments on tests which also might help to optimize these tests. > To avoid culling useful tests just because they take too long to run I have often thought we should separate some of the useful (but costly) subscription tests from the mainstream other tests. Then they won't cost any extra time for the build-farm, but at least we can still run them on-demand using PG_TEST_EXTRA [1] approach if we really want to. ------ [1] https://www.postgresql.org/docs/devel/regress-run.html Kind Regards, Peter Smith. Fujitsu Austrlia
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