Add parallelism and glibc dependent only options to reindexdb

From: Julien Rouhaud <rjuju123(at)gmail(dot)com>
To: PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Cc: Kevin Grittner <kgrittn(at)gmail(dot)com>, Michael Paquier <michael(at)paquier(dot)xyz>
Subject: Add parallelism and glibc dependent only options to reindexdb
Date: 2019-06-30 09:45:47
Message-ID: CAOBaU_YrnH_Jqo46NhaJ7uRBiWWEcS40VNRQxgFbqYo9kApUsg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi,

With the glibc 2.28 coming, all users will have to reindex almost
every indexes after a glibc upgrade to guarantee the lack of
corruption. Unfortunately, reindexdb is not ideal for that as it's
processing everything using a single connexion and isn't able to
discard indexes that doesn't depend on a glibc collation.

PFA a patchset to add parallelism to reindexdb (reusing the
infrastructure in vacuumdb with some additions) and an option to
discard indexes that doesn't depend on glibc (without any specific
collation filtering or glibc version detection), with updated
regression tests. Note that this should be applied on top of the
existing reindexdb cleanup & refactoring patch
(https://commitfest.postgresql.org/23/2115/).

This was sponsored by VMware, and has been discussed internally with
Kevin and Michael, in Cc.

Attachment Content-Type Size
0003-Add-parallel-processing-to-reindexdb.patch application/octet-stream 27.0 KB
0001-Export-vacuumdb-s-parallel-infrastructure.patch application/octet-stream 16.4 KB
0004-Add-a-glibc-dependent-option.patch application/octet-stream 25.4 KB
0002-Add-a-SimplePtrList-implementation.patch application/octet-stream 1.9 KB

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Michael Paquier 2019-06-30 12:35:52 Re: check_recovery_target_lsn() does a PG_CATCH without a throw
Previous Message Peter Eisentraut 2019-06-30 09:06:58 Re: check_recovery_target_lsn() does a PG_CATCH without a throw