On Fri, Nov 8, 2019 at 5:40 PM Laurenz Albe <laurenz.a...@cybertec.at> wrote: > On Fri, 2019-11-08 at 15:04 +1300, Thomas Munro wrote: > > 3. We don't know if pre-13 indexes are corrupted or not, and we'll > > record that with a special value just as in proposal #1, except that > > we could show a different hint for that special version value. It > > would tell you can you can either REINDEX, or run ALTER INDEX ... > > DEPENDS ON COLLATION "fr_FR" VERSION '34.0' if you believe the index > > to have been created with the current collation version on an older > > release of PostgreSQL that didn't track versions.
> #3 is the best proposal, but there is still the need to run > ALTER INDEX on all affected indexes to keep PostgreSQL from nagging. > Perhaps the situation could be improved with a pg_upgrade option > --i-know-my-indexes-are-fine that causes a result like #2. > Together with a bold note in the release notes, this may relieve > the pain. I suppose another reason to use such a switch would be if there is a change in the versioning scheme; for example, as of today in master we are using the glibc version, but a future glibc release might offer an interface to query the CLDR version it's using, and then a future release of PostgreSQL might get support for that, so the strings would change between major version of PostgreSQL but you might want to be able to tell pg_upgrade that your indexes are good.