Re: increasing the default WAL segment size
Robert Haas <robertmhaas@gmail.com>
On Thu, Aug 25, 2016 at 2:49 PM, Alvaro Herrera <alvherre@2ndquadrant.com> wrote: > Robert Haas wrote: >> On Thu, Aug 25, 2016 at 1:43 PM, Josh Berkus <josh@agliodbs.com> wrote: > >> > The one thing I'd be worried about with the increase in size is folks >> > using PostgreSQL for very small databases. If your database is only >> > 30MB or so in size, the increase in size of the WAL will be pretty >> > significant (+144MB for the base 3 WAL segments). I'm not sure this is >> > a real problem which users will notice (in today's scales, 144MB ain't >> > much), but if it turns out to be, it would be nice to have a way to >> > switch it back *just for them* without recompiling. >> >> I think you may be forgetting that "the base 3 WAL segments" is no >> longer the default configuration. checkpoint_segments=3 is history; >> we now have max_wal_size=1GB, which is a maximum of 64 WAL segments, >> not 3. > > I think the relevant one for that case is the minimum, though: > > #min_wal_size = 80MB > > which corresponds to 5 segments. I suppose the default value for this > minimum would change to some multiple of 64MB. Yeah, Andres made the same point, although it looks like he erroneously stated that the minimum was 48MB whereas you have it as 80MB, which seems to be the actual value. I assume we would have to raise that to either 128MB or 192MB, which does feel like a bit of a hefty increase. It doesn't matter if you're going to make extensive use of the cluster, but if somebody's spinning up hundreds of clusters each of which has very little activity it might not be an altogether welcome change. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company
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