Re: increasing the default WAL segment size
David Steele <david@pgmasters.net>
Hi Robert, On 3/22/17 3:45 PM, Robert Haas wrote: > On Wed, Mar 22, 2017 at 3:24 PM, David Steele <david@pgmasters.net> wrote: >>> One of the reasons to go with the LSN is that we would actually be >>> maintaining what happens when the WAL files are 16MB in size. >>> >>> David's initial expectation was this for 64MB WAL files: >>> >>> 000000010000000000000040 >>> 000000010000000000000080 >>> 0000000100000000000000CO >>> 000000010000000100000000 >> >> >> This is the 1GB sequence, actually, but idea would be the same for 64MB >> files. > > Wait, really? I thought you abandoned this approach because there's > then no principled way to handle WAL segments of less than the default > size. I did say that, but I thought I had hit on a compromise. But, as I originally pointed out the hex characters in the filename are not aligned correctly for > 8 bits (< 16MB segments) and using different alignments just made it less consistent. It would be OK if we were willing to drop the 1,2,4,8 segment sizes because then the alignment would make sense and not change the current 16MB sequence. Even then, there are some interesting side effects. For 1GB segments the "0000000100000001000000C0" segment would include LSNs 1/C0000000 through 1/FFFFFFFF. This is correct but is not an obvious filename to LSN mapping, at least for LSNs that appear later in the segment. -- -David david@pgmasters.net
Commits
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Make WAL segment size configurable at initdb time.
- fc49e24fa69a 11.0 landed
-
Perform only one ReadControlFile() during startup.
- 8356753c212a 11.0 landed
-
Introduce BYTES unit for GUCs.
- 6e7baa322773 11.0 landed
-
Remove useless duplicate inclusions of system header files.
- 9e3755ecb2d0 10.0 cited
-
Refactor other replication commands to use DestRemoteSimple.
- bbd8550bce14 10.0 landed
-
Add a SHOW command to the replication command language.
- d1ecd539477f 10.0 landed
-
Add a new DestReceiver for printing tuples without catalog access.
- a84069d93504 10.0 landed
-
Support fls().
- 4f658dc851a7 9.2.0 cited
-
Extend yesterday's patch making BLCKSZ and RELSEG_SIZE configurable to also
- cf9f6c8d8e9d 8.4.0 cited
-
Commit the reasonably uncontroversial parts of J.R. Nield's PITR patch, to
- c3c09be34b6b 8.0.0 cited
-
XLOG (also known as WAL -:)) Bootstrap/Startup/Shutdown.
- 47937403676d 7.1.1 cited
-
Transaction log manager core code.
- 30659d43eb73 7.1.1 cited