First draft of the PG 15 release notes
I have completed the first draft of the PG 15 release notes and you can
see the results here:
https://momjian.us/pgsql_docs/release-15.html
The feature count is similar to recent major releases:
release-10 195
release-11 185
release-12 198
release-13 183
release-14 229
--> release-15 186
I assume there will be major adjustments in the next few weeks based on
feedback.
--
Bruce Momjian <bruce@momjian.us> https://momjian.us
EDB https://enterprisedb.com
Indecision is a decision. Inaction is an action. Mark Batterson
I'm guessing this should be "trailing", not training?
Show quoted text
Prevent numeric literals from having non-numeric training characters (Peter Eisentraut)
On Tue, May 10, 2022 at 04:58:50PM +0100, Geoff Winkless wrote:
I'm guessing this should be "trailing", not training?
Prevent numeric literals from having non-numeric training characters (Peter Eisentraut)
Thanks, fixed.
--
Bruce Momjian <bruce@momjian.us> https://momjian.us
EDB https://enterprisedb.com
Indecision is a decision. Inaction is an action. Mark Batterson
Op 10-05-2022 om 17:44 schreef Bruce Momjian:
I have completed the first draft of the PG 15 release notes and you can
see the results here:
typos:
'accept empty array' should be
'to accept empty array'
'super users' should be
'superusers'
(several times)
'The new options causes the column names'
'The new options cause the column names'
'were always effected.'
'were always affected.'
(I think...)
'Previous the actual schema'
'Previously the actual schema'
'inforcement' should be
'enforcement'
(surely?)
'server slide' should be
'server side'
'Add extensions to define their own' should be
'Allow extensions to define their own'
And one strangely unfinished sentence:
'They also can only be'
Erik Rijkers
Thanks for writting this.
Comments from my first read:
| This mode could cause server startup failure if the database server stopped abruptly while in this mode.
This sentence both begins and ends with "this mode".
| This allows query hash operations to use double the amount of work_mem memory as other operations.
Should it say "node" ?
| Allow tsvector_delete_arr() and tsvector_setweight_by_filter() accept empty array elements (Jean-Christophe Arnu)
TO accept
I don't think this should be in the "compatibility" section?
| This accepts numeric formats like ".1" and "1.", and disallow trailing junk after numeric literals, like "1.type()".
disallows with an ess
| This will cause setseed() followed by random() to return a different value on older servers.
*than* older servers
| The Postgres default has always been to treat NULL indexed values as distinct, but this can now be changed by creating constraints and indexes using UNIQUE NULLS NOT DISTINCT.
should not say default, since it wasn't previously configurable.
"The previous behavior was ..."
| Have extended statistics track statistics for a table's children separately (Tomas Vondra, Justin Pryzby)
| Regular statistics already tracked child and non-child statistics separately.
"separately" seems vague. Currently in v10-v13, extended stats are collected
for partitioned tables, and collected for the "SELECT FROM ONLY"/parent case
for inheritance parents. This changes to also collect stats for the "SELECT
On Tue, May 10, 2022 at 08:07:45PM +0200, Erik Rijkers wrote:
And one strangely unfinished sentence:
'They also can only be'
I suspect this meant to highlight that "postgres -C" with runtime-computed
GUCs doesn't work if the server is running.
--
Nathan Bossart
Amazon Web Services: https://aws.amazon.com
Agreed on all of these, and URL contents updated. Thanks.
---------------------------------------------------------------------------
On Tue, May 10, 2022 at 08:07:45PM +0200, Erik Rijkers wrote:
Op 10-05-2022 om 17:44 schreef Bruce Momjian:
I have completed the first draft of the PG 15 release notes and you can
see the results here:typos:
'accept empty array' should be
'to accept empty array''super users' should be
'superusers'
(several times)'The new options causes the column names'
'The new options cause the column names''were always effected.'
'were always affected.'
(I think...)'Previous the actual schema'
'Previously the actual schema''inforcement' should be
'enforcement'
(surely?)'server slide' should be
'server side''Add extensions to define their own' should be
'Allow extensions to define their own'And one strangely unfinished sentence:
'They also can only be'Erik Rijkers
--
Bruce Momjian <bruce@momjian.us> https://momjian.us
EDB https://enterprisedb.com
Indecision is a decision. Inaction is an action. Mark Batterson
On 5/10/22 11:44 AM, Bruce Momjian wrote:
I have completed the first draft of the PG 15 release notes and you can
see the results here:
Thanks for pulling this together.
+ Allow logical replication to transfer sequence changes
I believe this was reverted in 2c7ea57e5, unless some other parts of
this work made it in.
Thanks,
Jonathan
On Tue, May 10, 2022 at 01:09:35PM -0500, Justin Pryzby wrote:
Thanks for writting this.
Comments from my first read:
| This mode could cause server startup failure if the database server stopped abruptly while in this mode.
This sentence both begins and ends with "this mode".
Agreed, I rewrote this.
| This allows query hash operations to use double the amount of work_mem memory as other operations.
Should it say "node" ?
Uh, I think users think of things like operations, e.g. sort operation
vs sort node.
| Allow tsvector_delete_arr() and tsvector_setweight_by_filter() accept empty array elements (Jean-Christophe Arnu)
TO accept
I don't think this should be in the "compatibility" section?
Yes, moved to Function.
| This accepts numeric formats like ".1" and "1.", and disallow trailing junk after numeric literals, like "1.type()".
disallows with an ess
Fixed.
| This will cause setseed() followed by random() to return a different value on older servers.
*than* older servers
Fixed.
| The Postgres default has always been to treat NULL indexed values as distinct, but this can now be changed by creating constraints and indexes using UNIQUE NULLS NOT DISTINCT.
should not say default, since it wasn't previously configurable.
"The previous behavior was ..."
Agreed, reworded.
| Have extended statistics track statistics for a table's children separately (Tomas Vondra, Justin Pryzby)
| Regular statistics already tracked child and non-child statistics separately."separately" seems vague. Currently in v10-v13, extended stats are collected
for partitioned tables, and collected for the "SELECT FROM ONLY"/parent case
for inheritance parents. This changes to also collect stats for the "SELECT
FROM tbl*" case. See also: 20220204214103.GT23027@telsasoft.com.
Agreed, reworded. Can you check you like my new wording?
| Allow members of the pg_checkpointer predefined role to run the CHECKPOINT command (Jeff Davis)
| Previously these views could only be run by super users.
| Allow members of the pg_read_all_stats predefined role to access the views pg_backend_memory_contexts and pg_shmem_allocations (Bharath Rupireddy)
| Previously these views could only be run by super users.checkpoint is not a view (and views cannot be run)
Fixed, was copy/paste error.
| Previously runtime-computed values data_checksums, wal_segment_size, and data_directory_mode would report values that would not be accurate on the running server. They also can only be
be what ?
Removed.
| Add server variable allow_in_place_tablespaces for tablespace testing (Thomas Munro)
This is a developer setting, so doesn't need to be mentioned ?
Moved to Source Code.
| Add function pg_settings_get_flags() to get the flags of server-side variables (Justin Pryzby)
IMO this is the same, but I think maybe Michael things about it differently...
Uh, I thought it might hvae user value as well as developer.
| Allow WAL full page writes to use LZ4 and ZSTD compression (Andrey Borodin, Justin Pryzby)
| Add support for LZ4 and ZSTD compression of server-side base backups (Jeevan Ladhe, Robert Haas)
| Allow pg_basebackup to decompress LZ4 and ZSTD compressed server-side base backups, and LZ4 and ZSTD compress output files (Dipesh Pandit, Jeevan Ladhe)
| Add configure option --with-zstd to enable ZSTD build (Jeevan Ladhe, Robert Haas, Michael Paquier)Maybe these should say "Zstandard" ? See 586955dddecc95e0003262a3954ae83b68ce0372.
I wasn't aware that ZSTD stood for that, so updated.
| The new options causes the column names to be output, and optionally verified on input.
option
Fixed.
| Previous the actual schema name was used.
Previously
Fixed.
| When EXPLAIN references the temporary object schema, refer to it as "pg_temp" (Amul Sul)
| When specifying fractional interval values in units greater than months, round to the nearest month (Bruce Momjian)
| Limit support of psql to servers running PostgreSQL 9.2 and later (Tom Lane)
| Limit support of pg_dump and pg_dumpall to servers running PostgreSQL 9.2 and later (Tom Lane)
| Limit support of pg_upgrade to old servers running PostgreSQL 9.2 and later (Tom Lane)
| Remove server support for old BASE_BACKUP command syntax and base backup protocol (Robert Haas)Do these need to be in the "compatibility" section ?
Uh, I think of compatibility as breakage, while removing support for
something doesn't seem like breakage. The protocol removal of
BASE_BACKUP only relates to people writing tools, I thought, so no
breakage for non-internals users. I didn't think the fractional
interval change would be a breakage, though maybe it is. I didn't think
EXPLAIN changes were user-parsed, so no breakage?
| Fix inforcement of PL/pgSQL variable CONSTANT markings (Tom Lane)
enforcement
Fixed.
| Allow IP address matching against a server's certificate Subject Alternative Name (Jacob Champion)
Should say "server certificate's" ?
Agreed.
| Allow libpq's SSL private to be owned by the root user (David Steele)
private *key*
I changed it to "private key file".
| Have psql output all output if multiple queries are passed to the server at once (Fabien Coelho)
all *results* ?
Yes, fixed.
| This can be disabled setting SHOW_ALL_RESULTS.
disabled *by* setting
Agreed, fixed.
| Allow pg_basebackup's --compress option to control the compression method (Michael Paquier, Robert Haas)
Should probably say "compression method and options"
Good point, that feature moved around during the development cycle.
| Allow pg_basebackup to decompress LZ4 and ZSTD compressed server-side base backups, and LZ4 and ZSTD compress output files (Dipesh Pandit, Jeevan Ladhe)
| Allow pg_basebackup to compress on the server slide and decompress on the client side before storage (Dipesh Pandit)Maybe these should be combined into one entry ?
Uh, I think it applies to gzip as well so they can't be combined, and
they seem to do different things.
| Add the LZ4 compression method to pg_receivewal (Georgios Kokolatos)
| This is enabled via --compression-method=lz4 and requires binaries to be built using --with-lz4.
| Redesign pg_receivewal's compression options (Georgios Kokolatos)
| The new --compression-method option controls the type of compression, rather than just relying on --compress.It's --compress since 042a923ad.
Yep, fixed.
| Previously, pg_receivewal would start based on the WAL file stored in the local archive directory, or at the sending server's current WAL flush location. With this change, if the sending server is running Postgres 15 or later, the local archive directory is empty, and a replication slot is specified, the replication slots restart point will be used.
slot's restart point (with a >>'<<)
Fixed.
| Add dump/restore option --no-table-access-method to force restore to use only the default table access method (Justin Pryzby)
remove "only" ?
I changed it to "to only use the default" since I think that is the
point --- it doesn't use anything but the default.
| This is for portability in restoring from systems using non-default table access methods.
I would remove part about "portability". The use-case I see for this is
restoring something to a different table AM (not just heapam), in the same way
as is possible for tablespaces:
PGOPTIONS='-c default-table-access-method=foo' pg_restore --no-table-am ./dump
I removed the portability sentence.
| Previously only the first invalid connection setting database was reported.
"only the first database with an invalid connection setting..."
Yes, reworded.
| Add new protocol message TARGET to specific a new COPY method to be for base backups (Robert Haas)
specify
Fixed.
| Automatically export server variables using PGDLLIMPORT on Windows (Robert Haas)
I don't think it's "automatic" ?
Yes, reworded.
| Allow informational escape sequences to be used in postgres_fdw's application name (Hayato Kuroda, Fujii Masao)
I don't think this should be a separate entry
Uh, the entry above is about per-connection application name, while this
is about escapes --- seems different to me, and hard to combine.
| This is enabled with the "parallel_commit" postgres_fdw option.
It's an option to the SQL "SERVER" command.
Yes, reworded. URL contents updated:
https://momjian.us/pgsql_docs/release-15.html
Can you verify you like the new contents please? Thanks.
--
Bruce Momjian <bruce@momjian.us> https://momjian.us
EDB https://enterprisedb.com
Indecision is a decision. Inaction is an action. Mark Batterson
On Tue, May 10, 2022 at 12:44:56PM -0700, Nathan Bossart wrote:
On Tue, May 10, 2022 at 08:07:45PM +0200, Erik Rijkers wrote:
And one strangely unfinished sentence:
'They also can only be'I suspect this meant to highlight that "postgres -C" with runtime-computed
GUCs doesn't work if the server is running.
Yes, you are correct --- wording updated.
--
Bruce Momjian <bruce@momjian.us> https://momjian.us
EDB https://enterprisedb.com
Indecision is a decision. Inaction is an action. Mark Batterson
On Tue, May 10, 2022 at 04:17:59PM -0400, Jonathan Katz wrote:
On 5/10/22 11:44 AM, Bruce Momjian wrote:
I have completed the first draft of the PG 15 release notes and you can
see the results here:Thanks for pulling this together.
+ Allow logical replication to transfer sequence changes
I believe this was reverted in 2c7ea57e5, unless some other parts of this
work made it in.
Yes, sorry, I missed that. Oddly, the unlogged sequence patch was
retained, even though there is no value for it on the primary. I
removed the sentence that mentioned that benefit from the release notes
since it doesn't apply to PG 15 anymore.
--
Bruce Momjian <bruce@momjian.us> https://momjian.us
EDB https://enterprisedb.com
Indecision is a decision. Inaction is an action. Mark Batterson
On Tue, May 10, 2022 at 04:18:10PM -0400, Bruce Momjian wrote:
"separately" seems vague. Currently in v10-v13, extended stats are collected
for partitioned tables, and collected for the "SELECT FROM ONLY"/parent case
for inheritance parents. This changes to also collect stats for the "SELECT
FROM tbl*" case. See also: 20220204214103.GT23027@telsasoft.com.Agreed, reworded. Can you check you like my new wording?
Now it says:
| Allow extended statistics to record statistics for a parent with all it children (Tomas Vondra, Justin Pryzby)
it should say "its" children.
| Add function pg_settings_get_flags() to get the flags of server-side variables (Justin Pryzby)
IMO this is the same, but I think maybe Michael things about it differently...
Uh, I thought it might hvae user value as well as developer.
The list of flags it includes is defined as "the flags we needed to deprecate
./check_guc", but it could conceivably be useful to someone else... But it
seems more like allow_in_place_tablespaces; it could go into the "source code"
section, or be removed.
| When EXPLAIN references the temporary object schema, refer to it as "pg_temp" (Amul Sul)
| When specifying fractional interval values in units greater than months, round to the nearest month (Bruce Momjian)
| Limit support of psql to servers running PostgreSQL 9.2 and later (Tom Lane)
| Limit support of pg_dump and pg_dumpall to servers running PostgreSQL 9.2 and later (Tom Lane)
| Limit support of pg_upgrade to old servers running PostgreSQL 9.2 and later (Tom Lane)
| Remove server support for old BASE_BACKUP command syntax and base backup protocol (Robert Haas)Do these need to be in the "compatibility" section ?
Uh, I think of compatibility as breakage, while removing support for
something doesn't seem like breakage.
I think removing support which breaks a user-facing behavior is presumptively a
compatibility issue.
I didn't think EXPLAIN changes were user-parsed, so no breakage?
Why would we have explain(format json/xml) if it wasn't meant to be parsed ?
At one point I was parsing its xml.
I'll let other's comment about the rest of the list.
| Automatically export server variables using PGDLLIMPORT on Windows (Robert Haas)
I don't think it's "automatic" ?
Yes, reworded.
Maybe it's a tiny bit better to say:
| Export all server variables on Windows using PGDLLIMPORT (Robert Haas)
(Otherwise, "all server variables using PGDLLIMPORT" could sound like only
those "server variables [which were] using PGDLLIMPORT" were exported).
| Allow informational escape sequences to be used in postgres_fdw's application name (Hayato Kuroda, Fujii Masao)
I don't think this should be a separate entry
Uh, the entry above is about per-connection application name, while this
is about escapes --- seems different to me, and hard to combine.
449ab635052 postgres_fdw: Allow application_name of remote connection to be set via GUC.
6e0cb3dec10 postgres_fdw: Allow postgres_fdw.application_name to include escape sequences.
94c49d53402 postgres_fdw: Make postgres_fdw.application_name support more escape sequences.
You have one entry for 449a, and one entry where you've combined 6e0c and 94c4.
My point is that the 2nd two commits changed the behavior of the first commit,
and I don't see why an end-user would want to know about the intermediate
behavior from the middle of the development cycle when escape sequences weren't
expanded. So I don't know why they'd be listed separately.
--
Justin
I have completed the first draft of the PG 15 release notes and you can
see the results here:
Allow pgbench to retry after serialization and deadlock failures (Yugo Nagata, Marina Polyakova)
This is in the "Additional Modules" section. I think this should be in
the "Client Applications" section because pgbench lives in bin
directory, not in contrib directory. Actually, pgbench was in the
"Client Applications" section in the PG 14 release note.
Best reagards,
--
Tatsuo Ishii
SRA OSS, Inc. Japan
English: http://www.sraoss.co.jp/index_en.php
Japanese:http://www.sraoss.co.jp
On Tue, May 10, 2022 at 04:02:35PM -0500, Justin Pryzby wrote:
On Tue, May 10, 2022 at 04:18:10PM -0400, Bruce Momjian wrote:
"separately" seems vague. Currently in v10-v13, extended stats are collected
for partitioned tables, and collected for the "SELECT FROM ONLY"/parent case
for inheritance parents. This changes to also collect stats for the "SELECT
FROM tbl*" case. See also: 20220204214103.GT23027@telsasoft.com.Agreed, reworded. Can you check you like my new wording?
Now it says:
| Allow extended statistics to record statistics for a parent with all it children (Tomas Vondra, Justin Pryzby)it should say "its" children.
Fixed.
| Add function pg_settings_get_flags() to get the flags of server-side variables (Justin Pryzby)
IMO this is the same, but I think maybe Michael things about it differently...
Uh, I thought it might hvae user value as well as developer.
The list of flags it includes is defined as "the flags we needed to deprecate
./check_guc", but it could conceivably be useful to someone else... But it
seems more like allow_in_place_tablespaces; it could go into the "source code"
section, or be removed.
Okay, I moved into source code.
| When EXPLAIN references the temporary object schema, refer to it as "pg_temp" (Amul Sul)
| When specifying fractional interval values in units greater than months, round to the nearest month (Bruce Momjian)
| Limit support of psql to servers running PostgreSQL 9.2 and later (Tom Lane)
| Limit support of pg_dump and pg_dumpall to servers running PostgreSQL 9.2 and later (Tom Lane)
| Limit support of pg_upgrade to old servers running PostgreSQL 9.2 and later (Tom Lane)
| Remove server support for old BASE_BACKUP command syntax and base backup protocol (Robert Haas)Do these need to be in the "compatibility" section ?
Uh, I think of compatibility as breakage, while removing support for
something doesn't seem like breakage.I think removing support which breaks a user-facing behavior is presumptively a
compatibility issue.
I moved the EXPLAIN and fractional interval items to the compatibility
section. I didn't change the psql and pg_dump items since they are
already in their own sections and are clearly support removal rather
than direct changes in behavior that would be expected. However, if
someone else feels they should be moved, I will move them, so someone
please reply if you feel that way.
I didn't think EXPLAIN changes were user-parsed, so no breakage?
Why would we have explain(format json/xml) if it wasn't meant to be parsed ?
At one point I was parsing its xml.I'll let other's comment about the rest of the list.
Good point on the formatted EXPLAIN output being affected, which is why
moving it does make sense.
| Automatically export server variables using PGDLLIMPORT on Windows (Robert Haas)
I don't think it's "automatic" ?
Yes, reworded.
Maybe it's a tiny bit better to say:
| Export all server variables on Windows using PGDLLIMPORT (Robert Haas)(Otherwise, "all server variables using PGDLLIMPORT" could sound like only
those "server variables [which were] using PGDLLIMPORT" were exported).
Ah, yes, I see the improvement, done.
| Allow informational escape sequences to be used in postgres_fdw's application name (Hayato Kuroda, Fujii Masao)
I don't think this should be a separate entry
Uh, the entry above is about per-connection application name, while this
is about escapes --- seems different to me, and hard to combine.449ab635052 postgres_fdw: Allow application_name of remote connection to be set via GUC.
6e0cb3dec10 postgres_fdw: Allow postgres_fdw.application_name to include escape sequences.
94c49d53402 postgres_fdw: Make postgres_fdw.application_name support more escape sequences.You have one entry for 449a, and one entry where you've combined 6e0c and 94c4.
My point is that the 2nd two commits changed the behavior of the first commit,
and I don't see why an end-user would want to know about the intermediate
behavior from the middle of the development cycle when escape sequences weren't
expanded. So I don't know why they'd be listed separately.
I see your point --- postgres_fdw.application_name supports escapes that
the normal application_name does not. I combined all three items now.
Thanks. The new entry is:
<!--
Author: Fujii Masao <fujii@postgresql.org>
2021-09-07 [449ab6350] postgres_fdw: Allow application_name of remote connectio
Author: Fujii Masao <fujii@postgresql.org>
2021-12-24 [6e0cb3dec] postgres_fdw: Allow postgres_fdw.application_name to inc
Author: Fujii Masao <fujii@postgresql.org>
2022-02-18 [94c49d534] postgres_fdw: Make postgres_fdw.application_name support
-->
<listitem>
<para>
Add server variable postgres_fdw.application_name to control the
application name of postgres_fdw connections (Hayato Kuroda)
</para>
<para>
Previously the remote application_name could only be set on the
remote server or via postgres_fdw connection specification.
postgres_fdw.application_name also supports escape sequences
for customization.
</para>
</listitem>
--
Bruce Momjian <bruce@momjian.us> https://momjian.us
EDB https://enterprisedb.com
Indecision is a decision. Inaction is an action. Mark Batterson
I have completed the first draft of the PG 15 release notes and you can
see the results here:Allow pgbench to retry after serialization and deadlock failures (Yugo Nagata, Marina Polyakova)
This is in the "Additional Modules" section. I think this should be in
the "Client Applications" section because pgbench lives in bin
directory, not in contrib directory. Actually, pgbench was in the
"Client Applications" section in the PG 14 release note.
I think you missed this:
commit 06ba4a63b85e5aa47b325c3235c16c05a0b58b96
Use COPY FREEZE in pgbench for faster benchmark table population.
Best reagards,
--
Tatsuo Ishii
SRA OSS, Inc. Japan
English: http://www.sraoss.co.jp/index_en.php
Japanese:http://www.sraoss.co.jp
On Wed, May 11, 2022 at 06:47:13AM +0900, Tatsuo Ishii wrote:
I have completed the first draft of the PG 15 release notes and you can
see the results here:Allow pgbench to retry after serialization and deadlock failures (Yugo Nagata, Marina Polyakova)
This is in the "Additional Modules" section. I think this should be in
the "Client Applications" section because pgbench lives in bin
directory, not in contrib directory. Actually, pgbench was in the
"Client Applications" section in the PG 14 release note.I think you missed this:
commit 06ba4a63b85e5aa47b325c3235c16c05a0b58b96
Use COPY FREEZE in pgbench for faster benchmark table population.
I didn't mention it since it is automatic and I didn't think pgbench
load time was significant enough to mention.
--
Bruce Momjian <bruce@momjian.us> https://momjian.us
EDB https://enterprisedb.com
Indecision is a decision. Inaction is an action. Mark Batterson
On Tue, May 10, 2022 at 05:45:01PM -0400, Bruce Momjian wrote:
I see your point --- postgres_fdw.application_name supports escapes that
the normal application_name does not. I combined all three items now.
Thanks. The new entry is:
The URL is updated with the current commits:
https://momjian.us/pgsql_docs/release-15.html
--
Bruce Momjian <bruce@momjian.us> https://momjian.us
EDB https://enterprisedb.com
Indecision is a decision. Inaction is an action. Mark Batterson
On May 10, 2022, at 8:44 AM, Bruce Momjian <bruce@momjian.us> wrote:
I have completed the first draft of the PG 15 release notes and you can
see the results here
Thanks, Bruce! This release note:
• Prevent logical replication into tables where the subscription owner is subject to the table's row-level security policies (Mark Dilger)
... should mention, independent of any RLS considerations, subscriptions are now applied under the privilege of the subscription owner. I don't think we can fit it in the release note, but the basic idea is that:
CREATE SUBSCRIPTION ... CONNECTION '...' PUBLICATION ... WITH (enabled = false);
ALTER SUBSCRIPTION ... OWNER TO nonsuperuser_whoever;
ALTER SUBSCRIPTION ... ENABLE;
can be used to replicate a subscription without sync or apply workers operating as superuser. That's the main advantage. Previously, subscriptions always ran with superuser privilege, which creates security concerns if the publisher is malicious (or foolish). Avoiding any unintentional bypassing of RLS was just a necessary detail to close the security loophole, not the main point of the security enhancement.
—
Mark Dilger
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company
On 5/10/22 4:18 PM, Bruce Momjian wrote:
On Tue, May 10, 2022 at 01:09:35PM -0500, Justin Pryzby wrote:
| Allow libpq's SSL private to be owned by the root user (David Steele)
private *key*
I changed it to "private key file".
This was backpatched to all supported versions[1]https://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=2a1f84636dc335a3edf53a8361ae44bb2ae00093. While I'm a huge fan
of this behavior change for a plethora of reasons, I'm not sure if this
should be included as part of the PG15 release notes, given it's in the
14.3 et al.
Thanks,
Jonathan
[1]: https://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=2a1f84636dc335a3edf53a8361ae44bb2ae00093
https://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=2a1f84636dc335a3edf53a8361ae44bb2ae00093
On Wed, 11 May 2022 at 03:44, Bruce Momjian <bruce@momjian.us> wrote:
I have completed the first draft of the PG 15 release notes and you can
see the results here:
Thanks for doing that tedious work.
I think the sort improvements done in v15 are worth a mention under
General Performance. The commits for this were 91e9e89dc, 40af10b57
and 697492434. I've been running a few benchmarks between v14 and v15
over the past few days and a fairly average case speedup is about 25%.
but there are cases where I've seen up to 400%. I think the increase
is to an extent that we maybe should have considered making tweaks in
cost_tuplesort(). I saw some plans that ran in about 60% of the time
by disabling Hash Agg and allowing Sort / Group Agg to do the work.
David