On Wed, Oct 6, 2021 at 10:19 AM Mark Dilger <mark.dil...@enterprisedb.com> wrote: > > A return value of 0 cannot be said to indicate that the database is > > not corrupt; > > Nor can a non-zero value be said to indicate that the database is corrupt.
I never said otherwise. I think it's perfectly fine that there are multiple non-zero return values. It's totally unrelated. > I'm not sure how the idea that pg_amcheck should never give back a failure > code unless there is corruption got inserted into this thread, but I'm not on > board with that as an invariant statement. I agree; I'm also not on board with it as an invariant statement. > The differences in the upcoming version are > > 1) --all no longer means "all relations" but rather "all checkable relations" Clearly pg_amcheck never checked all relations, because it never checked indexes that are not B-Tree indexes. I'm pretty sure that I can poke big holes in almost any positivist statement like that with little effort. > 2) checking options should be automatically downgraded under circumstances > where they cannot be applied > 3) unlogged relations during replication are by definition not corrupt > > I think #1 and #3 are unsurprising enough that they need no documentation > update. #2 is slightly surprising (at least to me) so I updated the docs for > it. To me #2 sounds like a tautology. It could almost be phrased as "pg_amcheck does not check the things that it cannot check". -- Peter Geoghegan