Re: PG 13 release notes, first draft

Amit Langote <amitlangote09@gmail.com>

From: Amit Langote <amitlangote09@gmail.com>
To: Bruce Momjian <bruce@momjian.us>
Cc: PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2020-05-08T03:07:09Z
Lists: pgsql-hackers

Attachments

On Fri, May 8, 2020 at 2:06 AM Bruce Momjian <bruce@momjian.us> wrote:
> On Fri, May  8, 2020 at 12:32:16AM +0900, Amit Langote wrote:
> > c8434d64c implements a new feature whereby, to use partitionwise join,
> > partition bounds of the tables being joined no longer have to match
> > exactly.  I think it might be better to mention this explicitly
> > because it enables partitionwise joins to be used in more partitioning
> > setups.
>
> Well, the text says:
>
>         Allow partitionwise joins to happen in more cases (Ashutosh Bapat,
>         Etsuro Fujita, Amit Langote, Tom Lane)
>
> Isn't that what you just said?  I just added this paragraph:
>
>         For example, partitionwise joins can now happen between partitioned
>         tables where the ancestors do not exactly match.
>
> Does that help?

Yes, although "ancestors do not exactly match" doesn't make clear what
about partitioned tables doesn't match.   "partition bounds do not
exactly match" would.

> > >         <para>
> > >         Previously, partitions had to be replicated individually.  Now
> > >         partitioned tables can be published explicitly causing all partitions
> > >         to be automatically published.  Addition/removal of partitions from
> > >         partitioned tables are automatically added/removed on subscribers.
> > >         The CREATE PUBLICATION option publish_via_partition_root controls whether
> > >         partitioned tables are published as themselves or their ancestors.
> > >         </para>
> >
> > Thanks.  Sounds good except I think the last sentence should read:
> >
> > ...controls whether partition changes are published as their own or as
> > their ancestor's.
>
> OK, done.

Hmm, I see that you only took "as their own".

- ...controls whether partitioned tables are published as themselves
or their ancestors.
+ ...controls whether partitioned tables are published as their own or
their ancestors.

and that makes the new sentence sound less clear.  I mainly wanted
"partitioned table" replaced by "partition", because only then the
phrase "as their own or their ancestor's" would make sense.

I know our partitioning terminology can be very confusing with many
terms including at least "partitioned table", "partition", "ancestor",
"leaf partition", "parent", "child", etc. that I see used.

> > >         </listitem>
> > >
> > >         <listitem>
> > >         <!--
> > >         Author: Peter Eisentraut <peter@eisentraut.org>
> > >         2020-04-06 [f1ac27bfd] Add logical replication support to replicate into partit
> > >         -->
> > >
> > >         <para>
> > >         Allow non-partitioned tables to be logically replicated to subscribers
> > >         that receive the rows into partitioned tables (Amit Langote)
> > >         </para>
> >
> > Hmm, why it make it sound like this works only if the source table is
> > non-partitioned?  The source table can be anything, a regular
> > non-partitioned table, or a partitioned one.
>
> Well, we already covered the publish partitioned case in the above item.
>
> > How about:
> >
> > Allow logical replication into partitioned tables on subscribers
> >
> > Previously, it was allowed only into regular [ non-partitioned ] tables.
>
> OK, I used this wording:
>
>         Allow logical replication into partitioned tables on subscribers (Amit
>         Langote)
>
>         Previously, subscribers could only receive rows into non-partitioned
>         tables.

This is fine, thanks.

I have attached a patch with my suggestions above.

-- 
Amit Langote
EnterpriseDB: http://www.enterprisedb.com

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