Re: AIO writes vs hint bits vs checksums
Andres Freund <andres@anarazel.de>
From: Andres Freund <andres@anarazel.de>
To: Heikki Linnakangas <hlinnaka@iki.fi>
Cc: Noah Misch <noah@leadboat.com>, pgsql-hackers@postgresql.org, Robert Haas <robertmhaas@gmail.com>, Thomas Munro <thomas.munro@gmail.com>
Date: 2025-08-13T19:38:14Z
Lists: pgsql-hackers
Hi, On 2024-10-30 12:45:27 -0400, Andres Freund wrote: > On 2024-10-30 13:29:01 +0200, Heikki Linnakangas wrote: > > On 30/10/2024 04:21, Andres Freund wrote: > > > Attached is a, unfortunately long, series of patches implementing what I > > > described upthread. > > > > Review of the preparatory patches: > > > > > 0001 Add very basic test for kill_prior_tuples > > > > > > We currently don't exercise this patch for gist and hash, which seems > > > somewhat criminal. > > > > Interesting to use the isolationtester for this. There's just one session, > > so you're just using it to define reusable steps with handy names. > > Yea. I had started out writing it as a pg_regress style test and it quickly got very > hard to understand. > > > > I'm fine with that, but please add a comment to explain it. > > Makes sense. > > > > I wonder if it'd be more straightforward to make it a regular pg_regress > > test though. There would be some repetition, but would it be so bad? > > I found it to be quite bad. If testing just one AM it's ok-ish, but once you > test 2-3 it gets very long and repetitive. I guess we could use functions or > such to make it a bit less painful - but that point, is it actually simpler? > > > > You forgot to add the new test to 'isolation_schedule'. > > Oops. > > > typos: > > "inex" -> "index" > > "does something approximately reasonble" -> "do something approximately > > reasonable" > > Oops^2. Pushed the test with these changes. Greetings, Andres Freund
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Require share-exclusive lock to set hint bits and to flush
- 82467f627bd4 19 (unreleased) landed
-
heapam: Move logic to handle HEAP_MOVED into a helper function
- 548de59d93d5 19 (unreleased) landed
-
Add very basic test for kill_prior_tuples
- 377b7ab14524 19 (unreleased) landed
-
aio: Add README.md explaining higher level design
- fdd146a8ef2b 18.0 landed
-
heapam: Only set tuple's block once per page in pagemode
- 2904324a88f6 18.0 landed
-
bufmgr: Use AIO in StartReadBuffers()
- 12ce89fd0708 18.0 landed
-
bufmgr: Implement AIO read support
- 047cba7fa0f8 18.0 landed
-
aio: Implement support for reads in smgr/md/fd
- 50cb7505b301 18.0 landed
-
aio: Add io_method=io_uring
- c325a7633fcb 18.0 landed
-
aio: Add io_method=worker
- 247ce06b883d 18.0 landed
-
aio: Infrastructure for io_method=worker
- 55b454d0e140 18.0 landed
-
aio: Add core asynchronous I/O infrastructure
- da7226993fd4 18.0 landed
-
bufmgr: Make it easier to change number of buffer state bits
- 418451bfe161 18.0 landed