pg.ddx.io  pgsql-hackers@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Justin Pryzby <pryzby@telsasoft.com>
To: Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
To: Peter Geoghegan <pg@bowt.ie>
Cc: Amit Kapila <amit.kapila16@gmail.com>
Cc: Bruce Momjian <bruce@momjian.us>
Cc: pgsql-hackers@postgresql.org
Subject: Re: PG 13 release notes, first draft
Date: Mon, 7 Sep 2020 08:40:26 -0500
Message-ID: <20200907134026.GC7158@telsasoft.com> (raw)
In-Reply-To: <20200514211006.GM18456@telsasoft.com>
References: <CAH2-WzmMq+53zOn+6VDhSHj2pa9mn0MLGx1KE3u38sP=0ObD9g@mail.gmail.com>
	<08a50ae9-89fe-a29b-c4e4-0fb5033c2f06@2ndquadrant.com>
	<20200514211006.GM18456@telsasoft.com>

There's some obvious improvements for which I include a patch.

>Add alternate version of jsonb_setI() with special NULL handling (Andrew Dunstan)
>The new function, jsonb_set_lax(), allows null new values to either set the specified key to JSON null, delete the key, raise exception, or ignore the operation. 
jsonb_set()
raise *an* exception
new null values?

>IS 'return_target' CLEAR?
I haven't used these before, but following the examples, it seems to return the
"target" argument, unchanged.

| Add function min_scale() that returns the number of digits to the right the decimal point that is required to represent the numeric value with full precision (Pavel Stehule)
right *of*
that *are* required ?

|The old function names were kept for backward compatibility. DO WE HAVE NEW NAMES?

=> I think the docs are clear:
> In releases of PostgreSQL before 13 there was no xid8 type, so variants of these functions were provided that used bigint to represent a 64-bit XID, with a correspondingly distinct snapshot data type txid_snapshot. These older functions have txid in their names. They are still supported for backward compatibility, but may be removed from a future release. See Table 9.76....

> This improves performance for queries that access many object. The internal List API has also been improved.
many objects*

|Allow skipping of WAL for full table writes if wal_level is minimal (Kyotaro Horiguchi)
Allow WAL writes to be skipped...
And: this is not related to full_page_writes.

| Enable Unix-domain sockets support on Windows (Peter Eisentraut)
Enable support for ..

| Improve the performance when replaying DROP DATABASE commands when many tablespaces are in use (Fujii Masao)
s/the//

|Allow a sample of statements to be logged (Adrien Nayrat)
Allow logging a sample of statements

|Allow WAL receivers use a temporary replication slot if a permanent one is not specified (Peter Eisentraut, Sergei Kornilov)
*to* use

| Add leader_pid to pg_stat_activity to report parallel worker ownership (Julien Rouhaud)
s/ownership/leader/ ?

|Allow WAL recovery to continue even if invalid pages are referenced (Fujii Masao)
remove "WAL" or say:
>Allow recovery to continue even if invalid pages are referenced by WAL (Fujii Masao)








A few things I have't fixed in my patch:

|Previously, this value was adjusted before effecting the number of concurrent requests. This value is now used directly. Conversion of old values to new ones can be done using:
|SELECT round(sum(OLD / n::float)) FROM generate_series(1, OLD) s(n);

I think the round() should be aliased, "AS new".
I think "before effecting" is confusing, maybe say:
| Previously, the effective value was computed internally from the user-supplied parameter...

|Allow partitioned tables to be logically replicated via publications (Amit Langote)
|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 from publications. The CREATE PUBLICATION option publish_via_partition_root controls whether changes to partitions are published as their own or their ancestor's.

=> "causing any future partitions to be automatically published".

"addition/removal .. are automatically" isn't right

|Implement incremental sorting (James Coleman, Alexander Korotkov, Tomas Vondra)
|If a result is already sorted by several leading keys, this allows for batch sorting of additional trailing keys because the previous keys are already equal. This is controlled by enable_incremental_sort.

s/several/one or more/
remove "additional" ?
remove "batch" ?
maybe "of ONLY trailing keys"

|Allow inserts to trigger autovacuum activity (Laurenz Albe, Darafei Praliaskouski)
|This new behavior reduces the work necessary when the table needs to be frozen and allows pages to be set as all-visible. All-visible pages allow index-only scans to access fewer heap rows.

There's a lot of "allow" here, but it sounds like relaxing a restriction when
actually this is a new functionality.  Maybe:
| Allow autovacuum to be triggered by INSERTs.
| ..and allows autovacuum to set pages as all-visible.





I already mentioned a couple things back in May that still stand out;:

|Add jsonpath .datetime() method (Nikita Glukhov, Teodor Sigaev, Oleg Bartunov, Alexander Korotkov)
|This allows json values to be converted to timestamps, which can then be processed in jsonpath expressions. This also adds jsonpath functions that support time zone-aware output.
timezone-aware or time-zone-aware, if you must.

> Allow vacuum commands run by vacuumdb to operate in parallel mode (Masahiko Sawada)
=> I think this is still going to be lost/misunderstood/confuse some people.
vacuumdb already supports -j.  This allows it to run vacuum(parallel N).  So
maybe say "...to process indexes in parallel".

-- 
Justin

Attachments:

0001-fixes-release-notes.patch (text/x-diff, 5.0K) download From 3f45433193d8fd3e2110df23e56a2ce31d232243 Mon Sep 17 00:00:00 2001 From: Justin Pryzby <pryzbyj@telsasoft.com> Date: Sun, 6 Sep 2020 22:10:11 -0500 Subject: [PATCH] fixes release notes --- doc/src/sgml/release-13.sgml | 38 +++++++++++++++++------------------- 1 file changed, 18 insertions(+), 20 deletions(-) diff --git a/doc/src/sgml/release-13.sgml b/doc/src/sgml/release-13.sgml index e27b044408..f4cc65178a 100644 --- a/doc/src/sgml/release-13.sgml +++ b/doc/src/sgml/release-13.sgml @@ -731,8 +731,8 @@ Author: Noah Misch <noah@leadboat.com> --> <para> - Allow skipping of <acronym>WAL</acronym> for <link - linkend="guc-full-page-writes">full table writes</link> if <xref + Allow <acronym>WAL</acronym> writes to be skipped during a transaction + which creates or rewrites a relations if <xref linkend="guc-wal-level"/> is <literal>minimal</literal> (Kyotaro Horiguchi) </para> @@ -753,8 +753,8 @@ Author: Peter Eisentraut <peter@eisentraut.org> --> <para> - Enable <link linkend="client-authentication">Unix-domain sockets</link> - support on Windows (Peter Eisentraut) + Enable support for <link linkend="client-authentication">Unix-domain sockets</link> + on Windows (Peter Eisentraut) </para> </listitem> @@ -765,7 +765,7 @@ Author: Fujii Masao <fujii@postgresql.org> --> <para> - Improve the performance when replaying <link + Improve performance when replaying <link linkend="sql-dropdatabase"><command>DROP DATABASE</command></link> commands when many tablespaces are in use (Fujii Masao) </para> @@ -888,7 +888,7 @@ Author: Tomas Vondra <tomas.vondra@postgresql.org> --> <para> - Allow a sample of statements to be logged (Adrien Nayrat) + Allow logging a sample of statements (Adrien Nayrat) </para> <para> @@ -1000,7 +1000,7 @@ Author: Michael Paquier <michael@paquier.xyz> <para> Add <structfield>leader_pid</structfield> to <xref - linkend="pg-stat-activity-view"/> to report parallel worker ownership + linkend="pg-stat-activity-view"/> to report parallel worker's leader process (Julien Rouhaud) </para> </listitem> @@ -1285,7 +1285,7 @@ Author: Alvaro Herrera <alvherre@alvh.no-ip.org> --> <para> - Allow <acronym>WAL</acronym> receivers use a temporary replication slot + Allow <acronym>WAL</acronym> receivers to use a temporary replication slot if a permanent one is not specified (Peter Eisentraut, Sergei Kornilov) </para> @@ -1369,8 +1369,8 @@ Author: Fujii Masao <fujii@postgresql.org> --> <para> - Allow <acronym>WAL</acronym> recovery to continue even if invalid - pages are referenced (Fujii Masao) + Allow recovery to continue even if invalid + pages are referenced by <acronym>WAL</acronym> (Fujii Masao) </para> <para> @@ -1689,15 +1689,14 @@ Author: Andrew Dunstan <andrew@dunslane.net> <para> Add alternate version of <link - linkend="functions-json-processing-table"><function>jsonb_setI()</function></link> + linkend="functions-json-processing-table"><function>jsonb_set()</function></link> with special <literal>NULL</literal> handling (Andrew Dunstan) </para> <para> - The new function, <function>jsonb_set_lax()</function>, allows null - new values to either set the specified key to <acronym>JSON</acronym> - null, delete the key, raise exception, or ignore the operation. - IS 'return_target' CLEAR? + The new function, <function>jsonb_set_lax()</function>, allows new + null values to either set the specified key to <acronym>JSON</acronym> + null, delete the key, raise an exception, or ignore the operation. </para> </listitem> @@ -1863,8 +1862,8 @@ Author: Tom Lane <tgl@sss.pgh.pa.us> <para> Add function <link linkend="functions-math-func-table"><function>min_scale()</function></link> - that returns the number of digits to the right the decimal point - that is required to represent the numeric value with full precision + that returns the number of digits to the right of the decimal point + that are required to represent the numeric value with full precision (Pavel Stehule) </para> </listitem> @@ -1913,8 +1912,7 @@ Author: Thomas Munro <tmunro@postgresql.org> </para> <para> - The old function names were kept for backward compatibility. DO WE - HAVE NEW NAMES? + The old functions were kept for backward compatibility. </para> </listitem> @@ -2833,7 +2831,7 @@ Author: Tom Lane <tgl@sss.pgh.pa.us> </para> <para> - This improves performance for queries that access many object. + This improves performance for queries that access many objects. The internal List <acronym>API</acronym> has also been improved. </para> </listitem> -- 2.17.0

Message-ID: <20200907134026.GC7158@telsasoft.com>
Permalink:  ../20200907134026.GC7158@telsasoft.com/
Also on:    postgresql.org/message-id/20200907134026.GC7158@telsasoft.com

 ·  · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-hackers@postgresql.org
  Cc: pryzby@telsasoft.com, peter.eisentraut@2ndquadrant.com, pg@bowt.ie, amit.kapila16@gmail.com, bruce@momjian.us
  Subject: Re: PG 13 release notes, first draft
  In-Reply-To: <20200907134026.GC7158@telsasoft.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox