On Wed, May 13, 2020 at 11:56:33AM +0900, Kyotaro Horiguchi wrote:
> >
> > Allow skipping of WAL for new tables and indexes if wal_level is
> > 'minimal' (Kyotaro Horiguchi)
> >
> > Relations larger than wal_skip_threshold will have their files
> > fsync'ed rather than writing their WAL records. Previously this
> > was done only for COPY operations, but the implementation had a
> > bug that could cause data loss during crash recovery.
>
> I see it. It is giving weight on improvement. Looks good the overall
> structure of the description above. However, wal-skipping is always
> done regardless of table size. wal_skip_threshold is an optimization
> to choose which to use fsync or FPI records (that is, not WAL records
> in the common sense) at commit for speed.
Well, as far as users are concerned, everything wrtiten to WAL is a WAL
record.
> So how about the following?
>
> All kinds of bulk-insertion are not WAL-logged then fsync'ed at
> commit. Using FPI WAL records instead of fsync for relations smaller
> than wal_skip_threshold. Previously this was done only for COPY
> operations and always using fsync, but the implementation had a bug
> that could cause data loss during crash recovery.
That is too much detail for the release notes. We already will link to
the docs. Why put it here?
--
Bruce Momjian <bruce@momjian.us> https://momjian.us
EnterpriseDB https://enterprisedb.com
+ As you are, so once was I. As I am, so you will be. +
+ Ancient Roman grave inscription +