Re: Allowing REINDEX to have an optional name - Mailing list pgsql-hackers

From Michael Paquier
Subject Re: Allowing REINDEX to have an optional name
Date
Msg-id Ypf+GU4zhvRTirJ1@paquier.xyz
Whole thread Raw
In response to Re: Allowing REINDEX to have an optional name  (Alvaro Herrera <alvherre@alvh.no-ip.org>)
Responses Re: Allowing REINDEX to have an optional name  (Simon Riggs <simon.riggs@enterprisedb.com>)
List pgsql-hackers
On Tue, May 31, 2022 at 02:30:32PM +0200, Alvaro Herrera wrote:
> I was thinking the opposite: REINDEX DATABASE with or without a database
> name should always process the user relations and skip system catalogs.
> If the user wants to do both, then they can use REINDEX SYSTEM in
> addition.
>
> The reason for doing it like this is that there is no way to process
> only user tables and skip catalogs.  So this is better for
> composability.

No objections from me to keep this distinction at the end, as long as
the the database name in the command has no impact on the chosen
behavior.  Could there be a point in having a REINDEX ALL though that
would process both the user relations and the catalogs, doing the same
thing as REINDEX DATABASE today?

By the way, the patch had better avoid putting a global REINDEX
command that would process everything.  As far as I recall, we've
avoided such things on purpose because they are expensive, keeping
around only cases that generate errors or skip all the relations.
So having that in a TAP test would be better, I assume, for
isolation.
--
Michael

Attachment

pgsql-hackers by date:

Previous
From: Michael Paquier
Date:
Subject: Re: Prevent writes on large objects in read-only transactions
Next
From: Michael Paquier
Date:
Subject: Re: pg_upgrade test writes to source directory