On Mon, 2023-04-03 at 14:51 +0800, Dawn Yu wrote:
> Recently,we come up with a same problem,when the database make the checkpoint,
> the size of wal directory increase very fast and take one hundred percent disk
> usage,we found the problem of pg wal write amplification is very serious.
> By analyzing the wal log, in some scenarios, most of the space is wasted when
> maintaining the full page of the index. Has the community considered modifying
> this part of the relevant code to make the full page better,The setting of FPW
> function is divided into two parts, the full-page write of the data record and
> the full-page write of the index block, and the switch functions can be set
> separately.
> By default, index full-page write is disabled. If the index is broken, you can
> rebuild the index to solve it. Although the security of index data cannot be
> guaranteed, this setting can greatly reduce the problem of storage space explosion
> caused by wal write amplification.
I would feel funny about a parameter like that.
There are a couple of things you can do today:
- increase "max_wal_size" and "checkpoint_timeout" to get checkpoints less often
- activate "wal_compression", so that the FPW are compressed. Best is to use v15,
where you can use "lz4" or "zstd" compression, which are much faster.
Yours,
Laurenz Albe