Re: [HACKERS] AdvanceXLInsertBuffer vs. WAL segment compressibility
Chapman Flack <chap@anastigmatix.net>
From: Chapman Flack <chap@anastigmatix.net>
To: pgsql-hackers@lists.postgresql.org
Date: 2018-03-26T11:30:10Z
Lists: pgsql-hackers
On 03/25/18 23:27, Stephen Frost wrote: >> .travis.yml | 47 ++++++++++++++++++++++++++++++++++++ > > ... not something that I think we're going to add into the main tree. Looks like that got in by mistake, sorry. > - AdvanceXLInsertBuffer(CurrPos, false); > ... > + currpos = GetXLogBuffer(CurrPos); > > AdvanceXLInsertBuffer() does quite a bit, so I'm a bit surprised to see > this simply removing that call, you're confident there's nothing done > which still needs doing..? My belief from looking at the code was that AdvanceXLInsertBuffer() is among the things GetXLogBuffer() does, so calling both would result in two calls to the former (which I don't believe would hurt, it would only do enough work the second time to determine it had already been done). However, it is done *conditionally* within GetXLogBuffer(), so it doesn't hurt to have extra eyes reviewing my belief that the condition will be true in this case (looping through tail blocks that haven't been touched yet). -Chap
Commits
-
Ensure that WAL pages skipped by a forced WAL switch are zero-filled.
- 4a33bb59dfc3 11.0 landed
-
Improve scalability of WAL insertions.
- 9a20a9b21baa 9.4.0 cited
-
Move BKP_REMOVABLE bit from individual WAL records to WAL page headers.
- 2dd9322ba6ee 9.2.0 cited