On Thu, 19 Dec 2019 at 11:59, Amit Kapila <amit.kapil...@gmail.com> wrote: > > On Wed, Dec 18, 2019 at 12:34 PM Amit Khandekar <amitdkhan...@gmail.com> > wrote: > > > > On Tue, 17 Dec 2019 at 17:40, Amit Khandekar <amitdkhan...@gmail.com> wrote: > > > By the way, the backport patch is turning out to be simpler. It's > > > because in pre-12 versions, the file offset is part of the Vfd > > > structure, so all the offset handling is not required. > > > > Please have a look at the attached backport patch for PG 11. branch. > > Once you are ok with the patch, I will port it on other branches. > > Note that in the patch, wherever applicable I have renamed the fd > > variable to vfd to signify that it is a vfd, and not the kernel fd. If > > we don't do the renaming, the patch would be still smaller, but I > > think the renaming makes sense. > > > > The other usage of PathNameOpenFile in md.c is already using 'fd' as a > variable name (also, if you see example in fd.h, that also uses fd as > variable name), so I don't see any problem with using fd especially if > that leads to lesser changes.
Ok. I have retained fd name. > Apart from that, your patch LGTM. Attached are the patches from master back up to 94 branch. PG 9.4 and 9.5 have a common patch to be applied : pg94_95_use_vfd_for_logrep.patch >From PG 9.6 onwards, each version has a separate patch. For PG 9.6, there is no logical decoding perl test file. So I have made a new file 006_logical_decoding_spill.pl that has only the specific testcase. Also, for building the test_decoding.so, I had to add the EXTRA_INSTALL=contrib/test_decoding line in the src/test/recovery/Makefile, because this is the first time we are using the plugin in the 9.6 tap test. >From PG 10 onwards, pgstat_report_*() calls around read() are removed in the patch, because FileRead() itself reports the wait events. >From PG 12 onwards, the vfd offset handling had to be added, because the offset is not present in Vfd structure. In master, logical_decoding_work_mem is used in the test file. -- Thanks, -Amit Khandekar EnterpriseDB Corporation The Postgres Database Company
use_vfd_for_logrep_patches.tar.gz
Description: GNU Zip compressed data