aboutsummaryrefslogtreecommitdiff
path: root/src/tutorial/basics.source
diff options
context:
space:
mode:
authorAlvaro Herrera <alvherre@alvh.no-ip.org>2024-04-07 14:06:30 +0200
committerAlvaro Herrera <alvherre@alvh.no-ip.org>2024-04-07 14:06:30 +0200
commitf3ff7bf83bce11709add9a6d31d4bebe95e086e3 (patch)
treecab6a4fbb65895baca0a529d1506a895c0869311 /src/tutorial/basics.source
parent29f6a959cfd8ffa7d6db2c0629439c5329e2853e (diff)
downloadpostgresql-f3ff7bf83bce11709add9a6d31d4bebe95e086e3.tar.gz
postgresql-f3ff7bf83bce11709add9a6d31d4bebe95e086e3.zip
Add XLogCtl->logInsertResult
This tracks the position of WAL that's been fully copied into WAL buffers by all processes emitting WAL. (For some reason we call that "WAL insertion"). This is updated using atomic monotonic advance during WaitXLogInsertionsToFinish, which is not when the insertions actually occur, but it's the only place where we know where have all the insertions have completed. This value is useful in WALReadFromBuffers, which can verify that callers don't try to read past what has been inserted. (However, more infrastructure is needed in order to actually use WAL after the flush point, since it could be lost.) The value is also useful in WaitXLogInsertionsToFinish() itself, since we can now exit quickly when all WAL has been already inserted, without even having to take any locks.
Diffstat (limited to 'src/tutorial/basics.source')
0 files changed, 0 insertions, 0 deletions