From: | Ashwin Agrawal <aagrawal(at)pivotal(dot)io> |
---|---|
To: | PostgreSQL mailing lists <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Confusing error message for REINDEX TABLE CONCURRENTLY |
Date: | 2019-05-25 00:06:25 |
Message-ID: | CALfoeithHvi13p_VyR8kt9o6Pa7Z=Smi6Nfc2anHnQx5Lj8bTQ@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
CREATE TABLE circles (c circle, EXCLUDE USING gist (c WITH &&));
REINDEX TABLE CONCURRENTLY circles;
WARNING: cannot reindex exclusion constraint index "public.circles_c_excl"
concurrently, skipping
NOTICE: table "circles" has no indexes
REINDEX
The message "table has no indexes" is confusing, as warning above it states
table has index, just was skipped by reindex.
So, currently for any reason (exclusion or invalid index) reindex table
concurrently skips reindex, it reports the table has no index. Looking at
the behavior of non-concurrent reindex, it emits the NOTICE only if table
really has no indexes (since it has no skip cases).
We need to see what really wish to communicate here, table has no indexes
or just that reindex was *not* performed or keep it simple and completely
avoid emitting anything. If we skip any indexes we anyways emit WARNING, so
that should be sufficient and nothing more needs to be conveyed.
In-case we wish to communicate no reindex was performed, what do we wish to
notify for empty tables?
Seems might be just emit the NOTICE "table xxx has no index", if really no
index for concurrent and non-concurrent case, make it consistent, less
confusing and leave it there. Attaching the patch to just do that. Thoughts?
Attachment | Content-Type | Size |
---|---|---|
v1-0001-Avoid-confusing-error-message-for-REINDEX-CONCURR.patch | text/x-patch | 4.0 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Jonah H. Harris | 2019-05-25 00:15:38 | Re: Indexing - comparison of tree structures |
Previous Message | Peter Geoghegan | 2019-05-24 23:56:09 | Re: Suppressing noise in successful check-world runs |