Re: PG 13 release notes, first draft

From: Bruce Momjian <bruce(at)momjian(dot)us>
To: Justin Pryzby <pryzby(at)telsasoft(dot)com>
Cc: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: PG 13 release notes, first draft
Date: 2020-05-05 17:18:09
Message-ID: 20200505171809.GF21185@momjian.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Tue, May 5, 2020 at 11:45:03AM -0500, Justin Pryzby wrote:
> |Release date: 2020-05-03
> => Should say 2020-XX-XX, before someone like me goes and installs it everywhere in sight.

Agreed!

> |These triggers cannot change the destination partition.
> => Maybe say "cannot change which partition is the destination"
>
> |Allow incremental sorting (James Coleman, Alexander Korotkov)
> s/Allow/Implement/ ?

Agreed.

> |If a result is already sorted by several keys,
> s/keys/leading keys/

Agreed.

> | Allow hash aggregation to use disk storage for large aggregation result sets (Jeff Davis)
> | Previously, hash aggregation was not used if it was expected to use more than work_mem memory. This is controlled by enable_hashagg_disk.
> => enable_hashagg_disk doesn't behave like other enable_* parameters.
> As I understand, disabling it only "opportunisitically" avoids plans which are
> *expected* to overflow work_mem. I think we should specifically say that, and
> maybe suggest recalibrating work_mem.

I went with "avoided":

Previously, hash aggregation was avoided if it was expected to use more
than work_mem memory. This is controlled by enable_hashagg_disk.

> |This new behavior sets pages as all-visible
> I think it should say "can allow setting pages all-visible"
> It doesn't do anything special to force anything to be allvisible.

OK, updated to:

This new behavior allows pages to be set as all-visible, which then
allows index-only scans, and reduces the work necessary when the table
needs to be frozen.

> | This is controlled by GUC wal_skip_threshold.
> I think you should say that's a size threshold which determines which strategy
> to use (WAL or fsync).

I went with:

The WAL write amount where this happens is controlled by wal_skip_threshold.

They can use the doc link if they want more detail.

> | Improve the performance of replay of DROP DATABASE commands that use many tablespaces (Fujii Masao)
> "when replaying DROP DATABASE commands if many tablespaces are in use"

OK, updated to:

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

>
> |Improve performance for truncation of very larger relations (Kirk Jamison)
> *large

Fixed.

> |Server variable backtrace_functions specifies which C functions should generate backtraces on error.
> Could you say "GUC" so it's easy to search for ?

Uh, I kind of back and forth on whether GUC or server variable is
better. I kind of mix them up so people will know what GUC is.

> | This is controlled by ssl_min_protocol_version.
> | This behavior can be enabled using wal_receiver_create_temp_slot.
> | This is controlled by logical_decoding_work_mem.
> | This is enabled using ignore_invalid_pages.
> Say GUC in these places, too ?

Oh, uh, I am not sure. These will all have links too.

> |Previously, server restart was required to change primary_conninfo and primary_slot_name.
> *a* server restart

Agreed.

> | Speedup recovery by prefetching pages (Thomas Munro)
> "Speed up" or accelerate or "Improve speed of".
> Speedup (one word) sounds like a noun.

Uh, someone requested I remove that, so I have.
>
> | Fix bugs in ALTER TABLE where later clauses overlap changes made by earlier clauses in the same command (Tom Lane)
> s/where/when/ ?

Agreed.

> | 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 operation. IS 'return_target' CLEAR?
> ignore *the* operation

Agreed.

> | time zone-aware output.
> timezone-aware ?

Uh, time zone is two words. We can do time-zone-aware but that looks
odd.

> | This makes \gx equivalent to \g (expanded=on).
> I would say: "this allows syntax like \g (expand=on) which is equivalent to \gx"

I like that.

> |Allow pgbench to partition its 'accounts' table (Fabien COELHO)
> Sometimes Fabien's name is/not capitalized.

I have already committed a fix for that.

> | This is enable using the -c/--restore-target-wal option.
> *enabled*

Agreed.

> | These long-supported options for this are called --superuser and --no-superuser.
> "The supported" not "These long-supported" ?

Yep.

> I'm not sure, but maybe these patches of mine should be documented?
>
> commit 24f62e93f314c107b4fa679869e5ba9adb2d545f
> Improve psql's \d output for partitioned indexes.
>
> commit c33869cc3bfc42bce822251f2fa1a2a346f86cc5
> psql \d: Display table where trigger is defined, if inherited
>
> => Alvaro said the functionality could conceivably be backpatched
> (nontrivially), which suggests this doesn't need to be documented, but I think
> backpatch would be a bad idea, and I think it should be documented.

I looked at these and they looked like incremental changes to psql
display in a way that people would say "nice", but not really want to
know about it before-hand. Maybe I am wrong.

Thanks for all your fixes, all committed.

--
Bruce Momjian <bruce(at)momjian(dot)us> https://momjian.us
EnterpriseDB https://enterprisedb.com

+ As you are, so once was I. As I am, so you will be. +
+ Ancient Roman grave inscription +

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Ranier Vilela 2020-05-05 17:21:36 Re: Unify drop-by-OID functions
Previous Message Justin Pryzby 2020-05-05 16:45:03 Re: PG 13 release notes, first draft