The following documentation comment has been logged on the website: Page: https://www.postgresql.org/docs/14/sql-createindex.html Description:
I think the INVALID index can use further explanation, in particular, from my experience it seems like when building an index concurrently, the index gets inserted and labeled invalid while the index is being built, and then the label gets removed if it finishes successfully or gets left on the index if there is a failure while building the index. It is my current understanding, after experimenting, that INVALID means 'incomplete', whether that's because it's in progress or because it was unable to be completed, but prior to my experiment my understanding was that INVALID indicated failure. This was especially confusing when we were adding an index to a very large table because we assumed the INVALID index indicated failure when we couldn't find any other sign of progress or failure.