Re: increasing the default WAL segment size
David Steele <david@pgmasters.net>
On 3/21/17 9:04 AM, Stephen Frost wrote: > Robert, > > * Robert Haas (robertmhaas@gmail.com) wrote: >> On Mon, Mar 20, 2017 at 7:23 PM, David Steele <david@pgmasters.net> wrote: >>> With 16MB WAL segments the filename neatly aligns with the LSN. For >>> example: >>> >>> WAL FILE 0000000100000001000000FE = LSN 1/FE000000 >>> >>> This no longer holds true with this patch. >> >> It is already possible to change the WAL segment size using the >> configure option --with-wal-segsize, and I think the patch should be >> consistent with whatever that existing option does. > > Considering how little usage that option has likely seen (I can't say > I've ever run into usage of it so far...), I'm not really sure that it > makes sense to treat it as final when we're talking about changing the > default here. +1. A seldom-used compile-time option does not necessarily provide a good model for a user-facing feature. > In short, I'm also concerned about this change to make WAL file names no > longer match up with LSNs and also about the odd stepping that you get > as a result of this change when it comes to WAL file names. I can't decide which way I like best. I like the filenames corresponding to LSNs as they do now, but it seems like a straight sequence might be easier to understand. Either way you need to know that different segment sizes mean different numbers of segments per lsn.xlogid. Even now the correspondence is a bit tenuous. I've always thought: 00000001000000010000000F Should be: 00000001000000010F000000 I'm really excited to (hopefully) have this feature in v10. I just want to be sure we discuss this as it will be a big change for tool authors and just about anybody who looks at WAL. Thanks, -- -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