Re: increasing the default WAL segment size
Tsunakawa, Takayuki <tsunakawa.takay@jp.fujitsu.com>
> From: pgsql-hackers-owner@postgresql.org > [mailto:pgsql-hackers-owner@postgresql.org] On Behalf Of Robert Haas > Considering those three factors, I think we should consider pushing the > default value up somewhat higher for v10. Reverting to the 64MB size that > we had prior to 47937403676d913c0e740eec6b85113865c6c8ab > sounds pretty reasonable. +1 The other downside is that the response time of transactions may degrade when they have to wait for a new WAL segment to be created. Tha might pop up as occasional slow or higher maximum response time, which is a mystery to users. Maybe it's time to use posix_fallocate() to create WAL segments. > Possibly it would make sense for this to be configurable at initdb time > instead of requiring a recompile; we probably don't save any significant > number of cycles by compiling this into the server. +1 > 3. archive_timeout is no longer a frequently used option. Obviously, if > you are frequently archiving partial segments, you don't want the segment > size to be too large, because if it is, each forced segment switch > potentially wastes a large amount of space (and bandwidth). > But given streaming replication and pg_receivexlog, the use case for > archiving partial segments is, at least according to my understanding, a > lot narrower than it used to be. So, I think we don't have to worry as > much about keeping forced segment switches cheap as we did during the 8.x > series. I'm not sure about this. I know (many or not) users use continuous archiving with archive_command and archive_timeout for backups, and don't want to use streaming replication, because the system is not worth the cost and trouble of HA. I heard from a few users that they were surprised when they knew that PostgreSQL generates WAL even when no update transaction is happening. Is this still true? Regards Takayuki Tsunakawa
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