]> granicus.if.org Git - postgresql/commit
Add support for --jobs in reindexdb
authorMichael Paquier <michael@paquier.xyz>
Sat, 27 Jul 2019 13:21:18 +0000 (22:21 +0900)
committerMichael Paquier <michael@paquier.xyz>
Sat, 27 Jul 2019 13:21:18 +0000 (22:21 +0900)
commit5ab892c391c6bc54a00e7a8de5cab077cabace6a
tree5235f408305fe66847aa12f5fe434f6dfb197d0e
parent4552c0f566667160ab3eeaf1620ebb969c1e7eb0
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
doc/src/sgml/ref/reindexdb.sgml
src/bin/scripts/Makefile
src/bin/scripts/reindexdb.c
src/bin/scripts/t/090_reindexdb.pl