Re: increasing the default WAL segment size
Magnus Hagander <magnus@hagander.net>
On Thu, Aug 25, 2016 at 5:32 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote: > Robert Haas <robertmhaas@gmail.com> writes: > > On Wed, Aug 24, 2016 at 10:33 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote: > >> ... but I think this is just folly. You'd have to do major amounts > >> of work to keep, eg, slave servers on the same page as the master > >> about what the segment size is. > > > I said an initdb-time parameter, meaning not capable of being changed > > within the lifetime of the cluster. So I don't see how the slave > > servers would get out of sync? > > The point is that that now becomes something to worry about. I do not > think I have to exhibit a live bug within five minutes' thought before > saying that it's a risk area. It's something that we simply have not > worried about before, and IME that generally means there's some squishy > things there. > If we ignore the possible performance implications (which we shouldn't, of course, but for the sake of argument), I think having it as a configurable parameter in initdb would make it *less* of something to worry about. Because it comes with the cluster during replication. I think it's more likely that you accidentally end up with two instances compiled with different values than that you get an issue from this. That said, I think it also has to be a *very* bad painpoint for somebody to care about changing it if it requires recompilation. The vast majority of users run the packaged versions, and they don't want to run anything else. So you will have whatever the RPMs or the DEBs or installers pick for you. Anything that is a ./configure-time option,is something we should expect almost nobody to change. Changing the default will of course help/hurt those as well. But if we change the default to something high and say "hey those of you who just run it on a smaller system should recompile with a different --configure", we are being *very* user-unfriendly. Or the other way around. That doesn't mean we shouldn't change the default. We just need to be a lot more careful about what we change it to if it's ./configure to reset it. -- Magnus Hagander Me: http://www.hagander.net/ Work: http://www.redpill-linpro.com/
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