This is a MySQL feature, where an index is not considered by the
planner. Implementing it should be fairly straightforward, adding a new
boolean to pg_index, and options to CREATE INDEX and ALTER INDEX. I
guess VISIBLE would become a new unreserved keyword.
The most obvious use case is to see what the planner does when the index
is not visible, for example which other index(es) it might use. There
are probably other cases where we might want an index to enforce a
constraint but not to be used in query planning.
So, do we want this feature? If we do I'll go ahead and prepare a patch.
cheers
andrew
--
Andrew Dunstan https://www.2ndQuadrant.com
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services