Re: A design for amcheck heapam verification
Peter Geoghegan <pg@bowt.ie>
From: Peter Geoghegan <pg@bowt.ie>
To: PostgreSQL Hackers <pgsql-hackers@postgresql.org>
Date: 2017-05-01T21:10:02Z
Lists: pgsql-hackers
On Fri, Apr 28, 2017 at 6:02 PM, Peter Geoghegan <pg@bowt.ie> wrote: > - Is committed, and committed before RecentGlobalXmin. Actually, I guess amcheck would need to use its own scan's snapshot xmin instead. This is true because it cares about visibility in a way that's "backwards" relative to existing code that tests something against RecentGlobalXmin. Is there any existing thing that works that way? If it's not clear what I mean: existing code that cares about RecentGlobalXmin is using it as a *conservative* point before which every snapshot sees every transaction as committed/aborted (and therefore nobody can care if that other backend hot prunes dead tuples from before then, or whatever it is). Whereas, amcheck needs to care about the possibility that *anyone else* decided that pruning or whatever is okay, based on generic criteria, and not what amcheck happened to see as RecentGlobalXmin during snapshot acquisition. -- Peter Geoghegan VMware vCenter Server https://www.vmware.com/
Commits
-
Fix non-portable use of round().
- 686d399f2be6 11.0 landed
-
Add amcheck verification of heap relations belonging to btree indexes.
- 7f563c09f890 11.0 landed
-
Add Bloom filter implementation.
- 51bc271790eb 11.0 landed
-
Use ereport not elog for some corrupt-HOT-chain reports.
- 8ecdc2ffe3da 11.0 cited
-
Introduce 64-bit hash functions with a 64-bit seed.
- 81c5e46c490e 11.0 cited
-
Upgrade src/port/rint.c to be POSIX-compliant.
- 06bf0dd6e354 9.5.0 cited
-
Use type "int64" for memory accounting in tuplesort.c/tuplestore.c.
- 79e0f87a1564 9.4.0 cited