]> granicus.if.org Git - postgresql/commit
Improve and fix some error handling for REINDEX INDEX/TABLE CONCURRENTLY
authorMichael Paquier <michael@paquier.xyz>
Thu, 9 May 2019 23:18:46 +0000 (08:18 +0900)
committerMichael Paquier <michael@paquier.xyz>
Thu, 9 May 2019 23:18:46 +0000 (08:18 +0900)
commit508300e2e141a9fd87758ce01374c5b0597986fd
tree1772248fd66b1fe83e98c0d741c9aa33d0884f29
parent24c19e9f66863d83009a370604e40b1eaa71bcdd
Improve and fix some error handling for REINDEX INDEX/TABLE CONCURRENTLY

This improves the user experience when it comes to restrict several
flavors of REINDEX CONCURRENTLY.  First, for INDEX, remove a restriction
on shared relations as we already check after catalog relations.  Then,
for TABLE, add a proper error message when attempting to run the command
on system catalogs.  The code path of CREATE INDEX CONCURRENTLY already
complains about that, but if a REINDEX is issued then then the error
generated is confusing.

While on it, add more tests to check restrictions on catalog indexes and
on toast table/index for catalogs.  Some error messages are improved,
with wording suggestion coming from Tom Lane.

Reported-by: Tom Lane
Author: Michael Paquier
Reviewed-by: Tom Lane
Discussion: https://postgr.es/m/23694.1556806002@sss.pgh.pa.us
src/backend/commands/indexcmds.c
src/test/regress/expected/create_index.out
src/test/regress/sql/create_index.sql