Re: Parallel copy
vignesh C <vignesh21@gmail.com>
From: vignesh C <vignesh21@gmail.com>
To: Amit Kapila <amit.kapila16@gmail.com>
Cc: Heikki Linnakangas <hlinnaka@iki.fi>, Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2020-11-18T10:10:45Z
Lists: pgsql-hackers
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Allow WaitLatch() to be used without a latch.
- 733fa9aa51c5 14.0 cited
-
Add %P to log_line_prefix for parallel group leader
- b8fdee7d0ca8 14.0 cited
-
Include replication origins in SQL functions for commit timestamp
- b1e48bbe64a4 14.0 cited
-
Avoid useless buffer allocations during binary COPY FROM.
- cd22d3cdb9bd 14.0 cited
On Fri, Nov 13, 2020 at 2:25 PM Amit Kapila <amit.kapila16@gmail.com> wrote: > > On Wed, Nov 11, 2020 at 10:42 PM vignesh C <vignesh21@gmail.com> wrote: > > > > On Tue, Nov 10, 2020 at 7:27 PM Amit Kapila <amit.kapila16@gmail.com> wrote: > > > > > > On Tue, Nov 10, 2020 at 7:12 PM vignesh C <vignesh21@gmail.com> wrote: > > > > > > > > On Tue, Nov 3, 2020 at 2:28 PM Amit Kapila <amit.kapila16@gmail.com> wrote: > > > > > > > > > > > > > I have worked to provide a patch for the parallel safety checks. It > > > > checks if parallely copy can be performed, Parallel copy cannot be > > > > performed for the following a) If relation is temporary table b) If > > > > relation is foreign table c) If relation has non parallel safe index > > > > expressions d) If relation has triggers present whose type is of non > > > > before statement trigger type e) If relation has check constraint > > > > which are not parallel safe f) If relation has partition and any > > > > partition has the above type. This patch has the checks for it. This > > > > patch will be used by parallel copy implementation. > > > > > > > > > > How did you ensure that this is sufficient? For parallel-insert's > > > patch we have enabled parallel-mode for Inserts and ran the tests with > > > force_parallel_mode to see if we are not missing anything. Also, it > > > seems there are many common things here w.r.t parallel-insert patch, > > > is it possible to prepare this atop that patch or do you have any > > > reason to keep this separate? > > > > > > > I have done similar testing for copy too, I had set force_parallel > > mode to regress, hardcoded in the code to pick parallel workers for > > copy operation and ran make installcheck-world to verify. Many checks > > in this patch are common between both patches, but I was not sure how > > to handle it as both the projects are in-progress and are being > > updated based on the reviewer's opinion. How to handle this? > > Thoughts? > > > > I have not studied the differences in detail but if it is possible to > prepare it on top of that patch then there shouldn't be a problem. To > avoid confusion if you want you can always either post the latest > version of that patch with your patch or point to it. > I have made this as a separate patch as of now. I will work on to see if I can use Greg's changes as it is or if required I will provide a few review comments on top of Greg's patch so that it is usable for parallel copy too and later post a separate patch with the changes on top of it. I will retain it as a separate patch till that time. Regards, Vignesh EnterpriseDB: http://www.enterprisedb.com