Re: Confusing error message for REINDEX TABLE CONCURRENTLY - Mailing list pgsql-hackers

From Ashwin Agrawal
Subject Re: Confusing error message for REINDEX TABLE CONCURRENTLY
Date
Msg-id CALfoeiuy52wPygK+dxDcuko7yd1+-a9h7CQt_gDYV25fVSiROg@mail.gmail.com
Whole thread Raw
In response to Re: Confusing error message for REINDEX TABLE CONCURRENTLY  (David Rowley <david.rowley@2ndquadrant.com>)
Responses Re: Confusing error message for REINDEX TABLE CONCURRENTLY
List pgsql-hackers

On Tue, May 28, 2019 at 12:05 PM David Rowley <david.rowley@2ndquadrant.com> wrote:
On Tue, 28 May 2019 at 01:23, Ashwin Agrawal <aagrawal@pivotal.io> wrote:
> I think we will need to separate out the NOTICE message for concurrent and regular case.
>
> For example this doesn't sound correct
> WARNING:  cannot reindex exclusion constraint index "public.circles_c_excl" concurrently, skipping
> NOTICE:  table "circles" has no indexes to reindex
>
> As no indexes can't be reindexed *concurrently* but there are still indexes which can be reindexed, invalid indexes I think fall in same category.

Swap "can't" for "can" and, yeah. I think it would be good to make the
error messages differ for these two cases. This would serve as a hint
to the user that they might have better luck trying without the
"concurrently" option.

Please check if the attached patch addresses and satisfies all the points discussed so far in this thread.

Was thinking of adding explicit errhint for concurrent case NOTICE to convey, either the table has no indexes or can only be reindexed without CONCURRENTLY. But thought may be its obvious but feel free to add if would be helpful.

Attachment

pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: WITH NOT MATERIALIZED and DML CTEs
Next
From: Michael Paquier
Date:
Subject: Re: Pinned files at Windows