Re: PG 13 release notes, first draft
Kyotaro Horiguchi <horikyota.ntt@gmail.com>
At Wed, 13 May 2020 11:15:18 -0400, Bruce Momjian <bruce@momjian.us> wrote in > 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. I think that the significant point here is not that persistence is ensured by which of fsync or WAL , but whether WAL records are written for every insertion. The commit-time WA is just an alternative of fsync, which is faster than fsync'ing separate files for smaller files. > > 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? It is just an more accurate (not an detailed) version of the previously proposed description. If we simplify that, I choose to remove explanation on wal_skip_threshold. How about this? WAL-logging is now skipped while all kinds of bulk-insertion, then relations are sync'ed to disk at commit. Previously this was done only for COPY operations, but the implementation had a bug that could cause data loss during crash recovery. regards. -- Kyotaro Horiguchi NTT Open Source Software Center
Commits
-
Doc: improve release notes' info about FROM UNPACKAGED feature removal.
- d42c61764464 13.0 landed
-
Doc: fix misstatement in v13 release notes.
- 001d2c5f15bf 13.0 landed
-
Doc: some more v13 release note tweaking.
- 9892564121d4 13.0 landed
-
Doc: update v13 release notes through today, do a copy-editing pass.
- 3965de54e718 13.0 cited
-
Doc: fill in "major enhancements" list in v13 release notes.
- 3d92252d7d8b 13.0 landed
-
doc: PG 13 relnotes: fix typos
- b31d6efe3d06 13.0 landed
-
doc: PG 13 relnotes, update TOAST item to mention decompression
- fb544735f114 13.0 landed
-
pgbench: document that the default data loading is client-side
- c3d1fdb59891 13.0 landed
-
psql \d: Display table where trigger is defined, if inherited
- c33869cc3bfc 13.0 cited
-
Skip WAL for new relfilenodes, under wal_level=minimal.
- c6b92041d385 13.0 cited
-
Introduce vacuum errcontext to display additional information.
- b61d161c1463 13.0 cited
-
Fix lquery's behavior for consecutive '*' items.
- 9950c8aadf0e 13.0 cited
-
Improve the internal implementation of ereport().
- 17a28b03645e 13.0 cited
-
Add object names to partition integrity violations.
- 33753ac9d7bc 13.0 cited
-
Allow page lock to conflict among parallel group members.
- 3ba59ccc896e 13.0 cited
-
Allow relation extension lock to conflict among parallel group members.
- 85f6b49c2c53 13.0 cited
-
Introduce "anycompatible" family of polymorphic types.
- 24e2885ee304 13.0 cited
-
Improve checking of child pages in contrib/amcheck.
- d114cc538715 13.0 cited
-
doc: Add information about new SQL part SQL/MDA
- 33e27c3785c5 13.0 cited
-
Added relation name in error messages for constraint checks.
- 05f18c6b6b6e 13.0 cited
-
Avoid full scan of GIN indexes when possible
- 4b754d6c16e1 13.0 cited
-
Use carriage returns for data insertion logs in pgbench on terminal
- d37ddb745be0 13.0 cited
-
Use memcpy instead of a byte loop in pglz_decompress
- c60e520f6e0e 13.0 cited
-
Add backtrace support for error reporting
- 71a8a4f6e365 13.0 cited
-
Improve pruning of a default partition
- 86544071484a 12.0 cited
- 489247b0e615 13.0 cited
-
Improve psql's \d output for partitioned indexes.
- 24f62e93f314 13.0 cited
-
initdb: Change authentication defaults
- 09f08930f0f6 13.0 cited