Re: increasing the default WAL segment size

Peter Eisentraut <peter.eisentraut@2ndquadrant.com>

From: Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
To: David Steele <david@pgmasters.net>, Robert Haas <robertmhaas@gmail.com>, Stephen Frost <sfrost@snowman.net>, Beena Emerson <memissemerson@gmail.com>
Cc: tushar <tushar.ahuja@enterprisedb.com>, Prabhat Sahu <prabhat.sahu@enterprisedb.com>, Ashutosh Sharma <ashu.coek88@gmail.com>, Jim Nasby <Jim.Nasby@bluetreble.com>, Kuntal Ghosh <kuntalghosh.2007@gmail.com>, Andres Freund <andres@anarazel.de>, "pgsql-hackers@postgresql.org" <pgsql-hackers@postgresql.org>
Date: 2017-03-25T15:36:37Z
Lists: pgsql-hackers
On 3/24/17 19:13, David Steele wrote:
> Behavior for the current default of 16MB is unchanged, and all other 
> sizes go through a logical progression.

Just at a glance, without analyzing the math behind it, this scheme
seems super confusing.

> 
> 1GB:
> 000000010000000000000040
> 000000010000000000000080
> 0000000100000000000000C0
> 000000010000000100000000
> 
> 256GB:
> 
> 000000010000000000000010
> 000000010000000000000020
> 000000010000000000000030
> ...
> 0000000100000000000000E0
> 0000000100000000000000F0
> 000000010000000100000000
> 
> 64GB:
> 
> 000000010000000100000004
> 000000010000000100000008
> 00000001000000010000000C
> ...
> 0000000100000001000000F8
> 0000000100000001000000FC
> 000000010000000100000000


-- 
Peter Eisentraut              http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services


Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Make WAL segment size configurable at initdb time.

  2. Perform only one ReadControlFile() during startup.

  3. Introduce BYTES unit for GUCs.

  4. Remove useless duplicate inclusions of system header files.

  5. Refactor other replication commands to use DestRemoteSimple.

  6. Add a SHOW command to the replication command language.

  7. Add a new DestReceiver for printing tuples without catalog access.

  8. Support fls().

  9. Extend yesterday's patch making BLCKSZ and RELSEG_SIZE configurable to also

  10. Commit the reasonably uncontroversial parts of J.R. Nield's PITR patch, to

  11. XLOG (also known as WAL -:)) Bootstrap/Startup/Shutdown.

  12. Transaction log manager core code.