Re: BUG #17212: pg_amcheck fails on checking temporary relations

Mark Dilger <mark.dilger@enterprisedb.com>

From: Mark Dilger <mark.dilger@enterprisedb.com>
To: Peter Geoghegan <pg@bowt.ie>
Cc: Alexander Lakhin <exclusion@gmail.com>, PostgreSQL-development <pgsql-hackers@postgresql.org>, Robert Haas <robertmhaas@gmail.com>
Date: 2021-10-04T23:34:53Z
Lists: pgsql-bugs, pgsql-hackers

> On Oct 4, 2021, at 4:28 PM, Mark Dilger <mark.dilger@enterprisedb.com> wrote:
> 
> pg_amcheck -i idx1 -i idx2 -i idx3

I forgot to mention:  There's a continuum between `pg_amcheck -a` which checks everything in all databases of the cluster, and `pg_amcheck -i just_one_index`.  There are any number of combinations of object names, schema names, database names, and patterns over the same, which select anything from an empty set to a huge set of things to check.  I'm trying to keep the behavior the same for all of those, and that's why I'm trying to avoid having `pg_amcheck -a` silently skip indexes that are unavailable for checking while having `pg_amcheck -i just_one_index` give a report about the index.  I wouldn't know where to draw the line between reporting the issue and not, and I doubt whatever line I choose will be intuitive to users.

—
Mark Dilger
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company






Commits

  1. Remove unstable pg_amcheck tests.

  2. pg_amcheck: avoid unhelpful verification attempts.

  3. amcheck: Skip unlogged relations in Hot Standby.

  4. amcheck: Skip unlogged relations during recovery.