patch to allow disable of WAL recycling

Jerry Jelinek <jerry.jelinek@joyent.com>

From: Jerry Jelinek <jerry.jelinek@joyent.com>
To: pgsql-hackers@postgresql.org
Date: 2018-06-26T13:35:57Z
Lists: pgsql-hackers

Attachments

Hello All,

Attached is a patch to provide an option to disable WAL recycling. We have
found that this can help performance by eliminating read-modify-write
behavior on old WAL files that are no longer resident in the filesystem
cache. The is a lot more detail on the background of the motivation for
this in the following thread.

https://www.postgresql.org/message-id/flat/CACukRjO7DJvub8e2AijOayj8BfKK3XXBTwu3KKARiTr67M3E3w%40mail.gmail.com#CACukRjO7DJvub8e2AijOayj8BfKK3XXBTwu3KKARiTr67M3E3w@mail.gmail.com

A similar change has been tested against our 9.6 branch that we're
currently running, but the attached patch is against master.

Thanks,
Jerry

Commits

  1. Add wal_recycle and wal_init_zero GUCs.

  2. Add GUC and storage parameter to set the maximum size of GIN pending list.