Re: PG 13 release notes, first draft

Kyotaro Horiguchi <horikyota.ntt@gmail.com>

From: Kyotaro Horiguchi <horikyota.ntt@gmail.com>
To: bruce@momjian.us
Cc: noah@leadboat.com, pgsql-hackers@postgresql.org
Date: 2020-05-12T04:09:08Z
Lists: pgsql-hackers
At Mon, 11 May 2020 20:12:04 -0400, Bruce Momjian <bruce@momjian.us> wrote in 
> On Thu, May  7, 2020 at 09:22:02PM -0700, Noah Misch wrote:
> > On Thu, May 07, 2020 at 09:38:34AM -0400, Bruce Momjian wrote:
> > > > > > - Crash recovery was losing tuples written via COPY TO.  This fixes the bug.
> > > > > 
> > > > > This was not backpatched?
> > > > 
> > > > Right.
> > > 
> > > Oh.  So you are saying we could lose COPY data on a crash, even after a
> > > commit.  That seems bad.  Can you show me the commit info?  I can't find
> > > it.
> > 
> > commit c6b9204
> > Author:     Noah Misch <noah@leadboat.com>
> > AuthorDate: Sat Apr 4 12:25:34 2020 -0700
> > Commit:     Noah Misch <noah@leadboat.com>
> > CommitDate: Sat Apr 4 12:25:34 2020 -0700
> > 
> >     Skip WAL for new relfilenodes, under wal_level=minimal.
> >     
> >     Until now, only selected bulk operations (e.g. COPY) did this.  If a
> >     given relfilenode received both a WAL-skipping COPY and a WAL-logged
> >     operation (e.g. INSERT), recovery could lose tuples from the COPY.  See
> >     src/backend/access/transam/README section "Skipping WAL for New
> >     RelFileNode" for the new coding rules.  Maintainers of table access
> >     methods should examine that section.
> 
> OK, so how do we want to document this?  Do I mention in the text below
> the WAL skipping item that this fixes a bug where a mix of simultaneous
> COPY and INSERT into a table could lose rows during crash recovery, or
> create a new item?

FWIW, as dicussed upthread, I suppose that the API change is not going
to be in relnotes.

something like this?

- Fix bug of WAL-skipping optimiazation 

Previously a trasaction doing both of COPY and a WAL-logged operations
like INSERT while wal_level=minimal can lead to loss of COPY'ed rows
through crash recovery.  Also this fix extends the WAL-skipping
optimiazation to all kinds of bulk insert operations.

regards.

-- 
Kyotaro Horiguchi
NTT Open Source Software Center



Commits

  1. Doc: improve release notes' info about FROM UNPACKAGED feature removal.

  2. Doc: fix misstatement in v13 release notes.

  3. Doc: some more v13 release note tweaking.

  4. Doc: update v13 release notes through today, do a copy-editing pass.

  5. Doc: fill in "major enhancements" list in v13 release notes.

  6. doc: PG 13 relnotes: fix typos

  7. doc: PG 13 relnotes, update TOAST item to mention decompression

  8. pgbench: document that the default data loading is client-side

  9. psql \d: Display table where trigger is defined, if inherited

  10. Skip WAL for new relfilenodes, under wal_level=minimal.

  11. Introduce vacuum errcontext to display additional information.

  12. Fix lquery's behavior for consecutive '*' items.

  13. Improve the internal implementation of ereport().

  14. Add object names to partition integrity violations.

  15. Allow page lock to conflict among parallel group members.

  16. Allow relation extension lock to conflict among parallel group members.

  17. Introduce "anycompatible" family of polymorphic types.

  18. Improve checking of child pages in contrib/amcheck.

  19. doc: Add information about new SQL part SQL/MDA

  20. Added relation name in error messages for constraint checks.

  21. Avoid full scan of GIN indexes when possible

  22. Use carriage returns for data insertion logs in pgbench on terminal

  23. Use memcpy instead of a byte loop in pglz_decompress

  24. Add backtrace support for error reporting

  25. Improve pruning of a default partition

  26. Improve psql's \d output for partitioned indexes.

  27. initdb: Change authentication defaults