diff --git a/src/backend/commands/indexcmds.c b/src/backend/commands/indexcmds.c index 4ee498d985..e56205abd8 100644 --- a/src/backend/commands/indexcmds.c +++ b/src/backend/commands/indexcmds.c @@ -3526,10 +3526,11 @@ ReindexRelationConcurrently(const ReindexStmt *stmt, Oid relationOid, const Rein if (!indexRelation->rd_index->indisvalid) ereport(WARNING, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot reindex invalid index \"%s.%s\" concurrently, skipping", + (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("skipping reindex of invalid index \"%s.%s\"", get_namespace_name(get_rel_namespace(cellOid)), - get_rel_name(cellOid)))); + get_rel_name(cellOid)), + errhint("Use DROP INDEX or REINDEX INDEX."))); else if (indexRelation->rd_index->indisexclusion) ereport(WARNING, (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), @@ -3578,10 +3579,11 @@ ReindexRelationConcurrently(const ReindexStmt *stmt, Oid relationOid, const Rein if (!indexRelation->rd_index->indisvalid) ereport(WARNING, - (errcode(ERRCODE_INDEX_CORRUPTED), - errmsg("cannot reindex invalid index \"%s.%s\" concurrently, skipping", + (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("skipping reindex of invalid index \"%s.%s\"", get_namespace_name(get_rel_namespace(cellOid)), - get_rel_name(cellOid)))); + get_rel_name(cellOid)), + errhint("Use DROP INDEX or REINDEX INDEX."))); else { ReindexIndexInfo *idx; diff --git a/src/test/regress/expected/create_index.out b/src/test/regress/expected/create_index.out index acfd9d1f4f..446cfa678b 100644 --- a/src/test/regress/expected/create_index.out +++ b/src/test/regress/expected/create_index.out @@ -2581,7 +2581,8 @@ DROP INDEX concur_reindex_ind5_ccnew; DELETE FROM concur_reindex_tab4 WHERE c1 = 1; -- The invalid index is not processed when running REINDEX TABLE. REINDEX TABLE CONCURRENTLY concur_reindex_tab4; -WARNING: cannot reindex invalid index "public.concur_reindex_ind5" concurrently, skipping +WARNING: skipping reindex of invalid index "public.concur_reindex_ind5" +HINT: Use DROP INDEX or REINDEX INDEX. NOTICE: table "concur_reindex_tab4" has no indexes that can be reindexed concurrently \d concur_reindex_tab4 Table "public.concur_reindex_tab4"