4 ms·
update pg_index set indisvalid = false where indexrelid = 63514;
by pramsey 4y ago
update pg_index set indisvalid = false where indexrelid = 63514;
- ioltas 4y agoIt's been argued a few times that we should have the possibility to make an index invalid on sight with a proper ALTER INDEX command, yes.
- samokhvalov 4y agoI see to use cases: - disable for all - disable only for my session, to check what would happen with the plan, and only then decide to proceed with disabling for all (or to drop it) ALTER is quite invasive way, even more than "UPDATE .. SET indisvalid = false ...". It would be good to do it via SET as it was proposed in the plantuner extension long ago.
- samokhvalov 4y agoThere is an opinion that it's unsafe: https://twitter.com/petervgeoghegan/status/1599191964045672449 https://twitter.com/petervgeoghegan/status/15991919640456724... There was an extension from Teodor some time ago, plantuner, to disable indexes in a session or globally ("set plantuner.forbid_index='id_idx2';") – but it didn't make it to core, and even to contribs. Maybe because the functionality to disable indexes was mixed with planner hints there. It's a very old story, discussion from 2009: https://www.postgresql.org/message-id/flat/47E63672-972E-452C-AFBE-37C3C883D9FC%40decibel.org#bf15ae4127caff5cc6a70a97e53d625b https://www.postgresql.org/message-id/flat/47E63672-972E-452...