Re: Add parallelism and glibc dependent only options to reindexdb
Julien Rouhaud <rjuju123@gmail.com>
From: Julien Rouhaud <rjuju123@gmail.com>
To: Michael Paquier <michael@paquier.xyz>
Cc: Peter Eisentraut <peter.eisentraut@2ndquadrant.com>, Alvaro Herrera <alvherre@2ndquadrant.com>,
Thomas Munro <thomas.munro@gmail.com>, Daniel Verite <daniel@manitou-mail.org>, Tom Lane <tgl@sss.pgh.pa.us>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>,
Kevin Grittner <kgrittn@gmail.com>
Date: 2019-07-09T12:56:37Z
Lists: pgsql-hackers
Attachments
- 0002-Add-parallel-processing-to-reindexdb-v3.patch (application/octet-stream) patch v3-0002
- 0001-Export-vacuumdb-s-parallel-infrastructure-v3.patch (application/octet-stream) patch v3-0001
On Tue, Jul 9, 2019 at 9:52 AM Julien Rouhaud <rjuju123@gmail.com> wrote: > > On Tue, Jul 9, 2019 at 9:24 AM Michael Paquier <michael@paquier.xyz> wrote: > > > > I have done a lookup of this patch set with a focus on the refactoring > > part, and the split is a bit confusing. > [...] I finished to do a better refactoring, and ended up with this API in scripts_parallel: extern ParallelSlot *ConsumeIdleSlot(ParallelSlot *slots, int numslots, const char *progname); extern ParallelSlot *SetupParallelSlots(const char *dbname, const char *host, const char *port, const char *username, bool prompt_password, const char *progname, bool echo, PGconn *conn, int numslots); extern bool WaitForSlotsCompletion(ParallelSlot *slots, int numslots, const char *progname); ConsumeIdleSlot() being a wrapper on top of (now static) GetIdleSlot, which handles parallelism and possible failure. Attached v3, including updated documentation for the new -j option.
Commits
-
Add support for --jobs in reindexdb
- 5ab892c391c6 13.0 landed
-
Remove more progname references in vacuumdb.c
- 3cae75f4209b 13.0 landed
-
Refactor parallelization processing code in src/bin/scripts/
- 5f3840370b63 13.0 landed