Is it possible to temporarily disable an index in Postgres?
Answer a question
I have got one index on a table that I would like to temporarily disable, I can't find any documentation suggesting that it's possible, though.
Reason: I've got an index that might be causing problems in queries unrelated to to any of the ones it was designed to speed up. It's a new index, and the system as a whole seems slower since it was introduced. I just want to be able to reliably eliminate it as the culprit, and this seems like the easiest way, other solution suggestions, as well as better question suggestions, are also welcome.
Answers
You can poke the system catalogue to disable an index:
update pg_index set indisvalid = false where indexrelid = 'test_pkey'::regclass
This means that the index won't be used for queries but will still be updated. It's one of the flags used for concurrent index building. Note that I've only done a quick test to see if the index still seems to be updated, caveat emptor.
更多推荐
所有评论(0)