Re: PG 13 release notes, first draft
Amit Langote <amitlangote09@gmail.com>
Hi Bruce,
On Tue, May 5, 2020 at 12:16 PM Bruce Momjian <bruce@momjian.us> wrote:
>
> I have committed the first draft of the PG 13 release notes. You can
> see them here:
>
> https://momjian.us/pgsql_docs/release-13.html
>
> It still needs markup, word wrap, and indenting. The community doc
> build should happen in a few hours.
Thanks for this as always.
+Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
+2019-08-07 [4e85642d9] Apply constraint exclusion more generally in partitionin
+Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
+2019-08-13 [815ef2f56] Don't constraint-exclude partitioned tables as much
+-->
+
+<para>
+Improve cases where pruning of partitions can happen (Amit Langote,
Yuzuko Hosoya, Álvaro Herrera)
+</para>
The following commit should be included with this item:
commit 489247b0e615592111226297a0564e11616361a5
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
Date: Sun Aug 4 11:18:45 2019 -0400
Improve pruning of a default partition
Primary author for this commit and the person who raised various
problems that led to these improvements is Yuzuko Hosoya. So I think
her name should go first.
+Author: Etsuro Fujita <efujita@postgresql.org>
+2020-04-08 [c8434d64c] Allow partitionwise joins in more cases.
+Author: Tom Lane <tgl@sss.pgh.pa.us>
+2020-04-07 [981643dcd] Allow partitionwise join to handle nested FULL JOIN USIN
+-->
+
+<para>
+Allow partitionwise joins to happen in more cases (Ashutosh Bapat,
Etsuro Fujita, Amit Langote)
+</para>
Maybe it would be better to break this into two items, because while
c8434d64c is significant new functionality that I only contributed a
few review comments towards, 981643dcd is relatively minor surgery of
partitionwise join code to handle FULL JOINs correctly. Tom's rewrite
of my patch for the latter was pretty significant too, so maybe better
to list his name as well.
+<!--
+Author: Peter Eisentraut <peter@eisentraut.org>
+2020-04-06 [f1ac27bfd] Add logical replication support to replicate into partit
+-->
+
+<para>
+Allow logical replication to replicate partitioned tables (Amit Langote)
+</para>
+
+</listitem>
+
+<listitem>
+<!--
+Author: Peter Eisentraut <peter@eisentraut.org>
+2020-03-10 [17b9e7f9f] Support adding partitioned tables to publication
+-->
+
+<para>
+Allow partitioned tables to be added to replicated publications (Amit Langote)
+</para>
+
+<para>
+Partition additions/removals are replicated as well. Previously,
partitions had to be replicated individually. HOW IS THIS DIFFERENT
FROM THE ITEM ABOVE?
+</para>
The former is subscription-side new functionality and the latter is
publication-side and the two are somewhat independent.
Till now, logical replication could only occur between relkind 'r'
relations. So the only way to keep a given partitioned table in sync
on the two servers was to manually add the leaf partitions (of relkind
'r') to a publication and also manually keep the list of replicated
tables up to date as partitions come and go, that is, by
adding/removing them to/from the publication.
17b9e7f9f (the second item) makes it possible for the partitioned
table (relkind 'p') to be added to the publication so that individual
leaf partitions need not be manually kept in the publication.
Replication still flows between the leaf partitions (relkind 'r'
relations) though.
f1ac27bfd (the first item) makes is possible to replicate from a
regular table (relkind 'r') into a partitioned table (relkind 'p').
If a given row is replicated into a partitioned table, the
subscription worker will route it to the correct leaf partition of
that partitioned table.
+<listitem>
+<!--
+Author: Peter Eisentraut <peter@eisentraut.org>
+2020-04-08 [83fd4532a] Allow publishing partition changes via ancestors
+-->
+
+<para>
+Allow CREATE PUBLICATION to control whether partitioned tables are
published as themselves or their ancestors (Amit Langote)
+</para>
+
+<para>
+The option is publish_via_partition_root.
+</para>
And this allows replication to optionally originate from relkind 'p'
relations on the publication server, whereas it could previously only
originate from relkind 'r' relations. Combined with the first item,
users can now replicate between partitioned tables that have a
different set of partitions on the two servers.
Maybe it would make sense to combine the three into one item:
<para>
Add support for logical replication of partitioned tables
</para>
<para>
Logical replication can now occur between partitioned tables, where
previously it would only be allowed between regular tables. A new
publication option <literal>publish_via_partition_root</literal>
controls whether a leaf partition's changes are published as its own
or as that of the ancestor that's actually published.
</para>
--
Amit Langote
EnterpriseDB: http://www.enterprisedb.com
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