On 11/11/20 21:56, Simon Riggs wrote:
[ŝnip]

REINDEX VERIFY
After the new index is created, but before we drop the old index:
Check whether the two indexes match:
* checks whether the previous index had pointers to row versions that
don't exist
* checks whether the heap has rows that were not in the old index
This approach piggybacks on existing operations. AccessShareLock is
held on both indexes before the old one is dropped.

FWIW, as long as it's optional (due to the added runtime), it'd be a welcome feature.

Maybe something along the lines of:

    REINDEX (verify yes) ....


Other ideas are welcome.

I still have nightmares from an specific customer case w/ shared storage (using VxFS) among two postmaster instances ---supposedly could never be active concurrently, not completely sure that it didn't actually happen--- and the corruption that we found there. I seem to remember that they even had scripts to remove the locking when switching over and back :S

I don't think Postgres can do much about this, but maybe someone can come up with a suitable countermeasure.


Just my .02€

Thanks,

    / J.L.




Reply via email to