| From: | Michael Paquier <michael(at)paquier(dot)xyz> |
|---|---|
| To: | pgsql-committers(at)lists(dot)postgresql(dot)org |
| Subject: | pgsql: Add support for --jobs in reindexdb |
| Date: | 2019-07-27 13:24:14 |
| Message-ID: | E1hrMgI-0005Bv-N8@gemulon.postgresql.org |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-committers |
Add support for --jobs in reindexdb
When doing a schema-level or a database-level operation, a list of
relations to build is created which gets processed in parallel using
multiple connections, based on the recent refactoring for parallel slots
in src/bin/scripts/. System catalogs are processed first in a
serialized fashion to prevent deadlocks, followed by the rest done in
parallel.
This new option is not compatible with --system as reindexing system
catalogs in parallel can lead to deadlocks, and with --index as there is
no conflict handling for indexes rebuilt in parallel depending in the
same relation.
Author: Julien Rouhaud
Reviewed-by: Sergei Kornilov, Michael Paquier
Discussion: https://postgr.es/m/CAOBaU_YrnH_Jqo46NhaJ7uRBiWWEcS40VNRQxgFbqYo9kApUsg@mail.gmail.com
Branch
------
master
Details
-------
https://git.postgresql.org/pg/commitdiff/5ab892c391c6bc54a00e7a8de5cab077cabace6a
Modified Files
--------------
doc/src/sgml/ref/reindexdb.sgml | 23 ++
src/bin/scripts/Makefile | 2 +-
src/bin/scripts/reindexdb.c | 416 ++++++++++++++++++++++++++++++++-----
src/bin/scripts/t/090_reindexdb.pl | 44 +++-
4 files changed, 432 insertions(+), 53 deletions(-)
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Tom Lane | 2019-07-27 20:00:03 | pgsql: Don't drop NOTICE messages in isolation tests. |
| Previous Message | Peter Eisentraut | 2019-07-27 06:43:34 | pgsql: pg_upgrade: Update obsolescent documentation note |