From: | Bruce Momjian <bruce(at)momjian(dot)us> |
---|---|
To: | Justin Pryzby <pryzby(at)telsasoft(dot)com> |
Cc: | pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: PG 14 release notes, first draft |
Date: | 2021-05-11 14:35:23 |
Message-ID: | 20210511143523.GQ6088@momjian.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Mon, May 10, 2021 at 09:00:05AM -0500, Justin Pryzby wrote:
> Thanks for putting it together.
>
> I think these two should be merged:
> | Remove containment operators @ and ~ from contrib modules cube, hstore, intarray, and seg (Justin Pryzby)
> | Remove deprecated containment operators for built-in geometry data types (Justin Pryzby)
Agreed, merged.
>
> | Improve autovacuum's analyze of partitioned tables (Yuzuko Hosoya)
> | DETAILS?
>
> Should say: Autovacuum now analyzes partitioned tables.
Agreed, updated.
> | The server variable check_client_connection_interval allows supporting operating systems, e.g., Linux, to automatically cancel queries by disconnected clients.
> The GUC is actually called client_connection_check_interval - the commit
> message used the wrong name.
OK, fixed.
> | This is particularly helpful for reducing index bloat on tables that frequently update indexed columns.
> Does it mean "..where indexed columns are frequently updated"?
Yeah, that needs help. ;-) I updated it to :
This is particularly helpful for reducing index bloat on tables
whose indexed columns are frequently updated.
> | Allow multiple foreign table scans to be run in parallel (Robert Haas, Kyotaro Horiguchi, Thomas Munro, Etsuro Fujita)
> I think it means multiple foreight table scan *nodes*
How is this?
Allow a query referencing multiple foreign tables to perform foreign
table scans in parallel (Robert Haas, Kyotaro Horiguchi, Thomas Munro,
Etsuro Fujita)
I am worried "nodes" is too vague.
> | If server variable compute_query_id is enabled, display the hash in pg_stat_activity, EXPLAIN VERBOSE, csvlog, and optionally in log_line_prefix (Julien Rouhaud)
> I think needs details, like: "If disabled, then the hash might be computed by
> an extension, instead".
I ended up with:
<para>
If server variable compute_query_id is enabled, display the hash
in pg_stat_activity, EXPLAIN VERBOSE, csvlog, and optionally in
log_line_prefix (Julien Rouhaud)
</para>
<para>
A query id computed by an extension will also be displayed.
</para>
> Later, you say:
> | Extension pg_stat_statements will need to enable hash computation via the compute_query_id server variable to function properly. pg_stat_statements can now use a custom hash computation method.
> Maybe it should say "will need hash computation to be enabled".
Here is the updated entry:
<listitem>
<!--
Author: Bruce Momjian <bruce(at)momjian(dot)us>
2021-04-07 [5fd9dfa5f] Move pg_stat_statements query jumbling to core.
-->
<para>
Move query hash computation from pg_stat_statements to the core server (Julien Rouhaud)
</para>
<para>
Extension pg_stat_statements will now need to enable query hash computation to function properly.
This can be done by enabling the server variable compute_query_id or by using an extension with a custom hash computation method.
</para>
</listitem>
> | Allow more than the common name (CN) to be matched for client certificate authentication (Andrew Dunstan)
> Your description makes it sound like arbitrary attributes can be compared. But
> the option just allows comparing CN or DN.
OK, new text is:
<listitem>
<!--
Author: Andrew Dunstan <andrew(at)dunslane(dot)net>
2021-03-29 [6d7a6feac] Allow matching the DN of a client certificate for
authen
-->
<para>
Allow the certificate's distinguished name (DN) to be matched for client
certificate authentication (Andrew Dunstan)
</para>
<para>
The new pg_hba.conf keyword "clientname=DN" allows comparison with
non-CN certificate attributes and can be combined with ident maps.
</para>
</listitem>
> | Allow file system sync at the start of crash recovery on Linux (Thomas Munro)
> I think this should describe the existing, default behavior:
> Allow syncfs method to sync data directory during recovery;
> The default behavior is to open and fsync every data file, and the new setting
> recovery_init_sync_method=syncfs instead syncs each filesystem in the data
> directory.
I went with this text:
<listitem>
<!--
Author: Thomas Munro <tmunro(at)postgresql(dot)org>
2021-03-20 [61752afb2] Provide recovery_init_sync_method=syncfs.
-->
<para>
Allow file system sync at the start of crash recovery on Linux (Thomas
Munro)
</para>
<para>
By default, Postgres opens and fsyncs every data file at the start of
crash recovery.
This new setting, recovery_init_sync_method=syncfs, instead syncs each
filesystem used by the database cluster.
This allows for faster recovery on systems with many database files.
</para>
</listitem>
> | Add date_bin function (John Naylor)
> This truncate timestamps on an arbitrary interval.
> Like date_trunc() but also supports eg. '15 minutes', and also uses an arbitrary "origin".
OK, so what I think it returns is the greatest datetime that is a
multiple of interval values added to origin which is not greater than
the target date, right? Am I the only one who finds this unclear?
Doesn't our documentation of this feature need to explain this?
> | Support negative indexes in split_part() (Nikhil Benesch)
> | Negative values count from the last field going forward.
> should say "start from the last field and count backward" ?
Yes, fixed with your wording.
> | Add configure option --with-openssl to behave like --with-ssl={openssl} (Daniel Gustafsson, Michael Paquier)
> | The option --with-openssl is kept for compatibility.
> I think this is backwards. The new option is with-ssl=openssl, and (as you
> said) with-openssl is kept.
Agreed:
Add configure option --with-ssl={openssl} to behave like
--with-openssl (Daniel Gustafsson, Michael Paquier)
> Should these be in the "compatibility" section?
>
> | Force custom server variable names to match the pattern used for unquoted SQL identifiers (Tom Lane)
Yes.
> | Change password_encryption's default to scram-sha-256 (Peter Eisentraut)
Yes, I can see this impacting people. I move it and added text to
highlight the incompatibility:
<listitem>
<!--
Author: Peter Eisentraut <peter(at)eisentraut(dot)org>
2020-06-10 [c7eab0e97] Change default of password_encryption to scram-sha-256
-->
<para>
Change password_encryption's default to scram-sha-256 (Peter Eisentraut)
</para>
<para>
Previously it was md5. All new passwords will be stored as
SHA256 unless this server variable is changed or the password is
already md5-hashed.
</para>
</listitem>
>
> | Change checkpoint_completion_target default to 0.9 (Stephen Frost)
I don' think that is an incompatibility since it only affects
performance, and can be easily changed.
> | Reduce the default value of vacuum_cost_page_miss (Peter Geoghegan)
>
> Nitpicks to follow:
>
> | Allow some GiST index to be built by presorting the data (Andrey Borodin)
> indexes
Fixed.
> | with --with-lz4 support to enable this feature
> I would change to say "to support" rather than "support to enable"
Yes, better.
> | Speed truncation of small tables on large shared buffer servers (Kirk Jamison)
> "on servers with large settings of shared_buffers"
I went with:
Speed truncation of small tables on clusters with a large number of
shared buffers (Kirk Jamison)
> | Allow windowing functions to perform incremental sorts (David Rowley)
> Just "window" functions
OK, fixed.
> | Improve pg_stat_activity reporting for walsenders processes (Tom Lane)
> walsender
Fixed.
> | Previously these functions could only be executed by super-users, and still defaults do that.
> ..which is still the default behavior.
Updated to:
Previously these functions could only be executed by
super-users, and this is still the default.
> | This allows multiple queries to be send and only wait for completion when a specific synchronization message is sent.
> be sent
Fixed.
> | Enhance libpq libpq's target_session_attrs parameter options (Haribabu Kommi, Greg Nancarrow, Vignesh C, Tom Lane)
> remove first "libpq"
Fixed.
> | With the removal of the ! operator in this release, factorial() is the only built-in way to computer a factorial.
> compute
Fixed.
> | For example, GROUP BY CUBE (a,b), CUBE (b,c) will generated duplicate grouping combinations without DISTINCT.
>
> will generate
Fixed.
> | Allow VACUUM VERBOSE to report page deletion counts for each scan of an index (Peter Geoghegan)
>
> I think "Allow" is wrong - should just say that VACUUM VERBOSE reports..
Updated to:
Have VACUUM VERBOSE report page deletion counts for each scan of
an index (Peter Geoghegan)
> |By default, only the root of partitioned tables are imported.
> *is* imported
Fixed.
> Can these be merged:
> Allow logical replication to stream long transactions to standbys (Dilip Kumar, Tomas Vondra, Amit Kapila, Nikhil Sontakke)
> Improve the logical replication API to allow streaming large in-progress transactions (Tomas Vondra, Dilip Kumar, Amit Kapila)
I am not sure. I do think we need to merge some of the logical
replication items, but I am not sure which ones yet.
Thanks for all the good feedback.
--
Bruce Momjian <bruce(at)momjian(dot)us> https://momjian.us
EDB https://enterprisedb.com
If only the physical world exists, free will is an illusion.
From | Date | Subject | |
---|---|---|---|
Next Message | Bruce Momjian | 2021-05-11 14:48:11 | Re: PG 14 release notes, first draft |
Previous Message | Andrew Dunstan | 2021-05-11 14:32:55 | Re: Why do we have perl and sed versions of Gen_dummy_probes? |