PostgreSQL 16 Beta 1 release announcement draft
Hi,
Attached is a draft of the release announcement for PostgreSQL 16 Beta
1. The goal of this announcement is to get people excited about testing
the beta and highlight many of the new features.
Please review for inaccuracies, omissions, and other suggestions / errors.
Please provide feedback no later than May 24, 0:00 AoE. This will give
me enough time to incorporate the changes prior to the release the next day.
Thanks,
Jonathan
Attachments:
Op 5/19/23 om 06:17 schreef Jonathan S. Katz:
Hi,
Attached is a draft of the release announcement for PostgreSQL 16 Beta
Hi,
The usual small fry:
'continues to to' should be
'continues to'
'continues to give users to the ability' should be
'continues to give users the ability to'
'pg_createsubscription' should be
'pg_create_subscription'
'starting with release' should be
'starting with this release'
'credentials to connected to other services' should be
'credentials to connect to other services'
Thanks,
Erik
On Fri, May 19, 2023 at 12:17:50AM -0400, Jonathan S. Katz wrote:
Attached is a draft of the release announcement for PostgreSQL 16 Beta 1.
The goal of this announcement is to get people excited about testing the
beta and highlight many of the new features.
Thanks!
PostgreSQL 16 continues to give users to the ability grant privileged access to
features without requiring superuser with new
[predefined roles](https://www.postgresql.org/docs/devel/predefined-roles.html).
These include `pg_maintain`, which enables execution of operations such as
`VACUUM`, `ANALYZE`, `REINDEX`, and others, and `pg_createsubscription`, which
allows users to create a logical replication subscription. Additionally,
starting with release, logical replication subscribers execute transactions on a
table as the table owner, not the superuser.
[pg_use_]reserved_connections might also deserve a mention here. AFAICT
it's the only new predefined role that isn't mentioned in the announcement.
I'm okay with leaving it out if folks don't think it should make the cut.
--
Nathan Bossart
Amazon Web Services: https://aws.amazon.com
On 5/19/23 1:42 AM, Erik Rijkers wrote:
Op 5/19/23 om 06:17 schreef Jonathan S. Katz:
Hi,
Attached is a draft of the release announcement for PostgreSQL 16 Beta
Hi,
The usual small fry:
'continues to to' should be
'continues to''continues to give users to the ability' should be
'continues to give users the ability to''pg_createsubscription' should be
'pg_create_subscription''starting with release' should be
'starting with this release''credentials to connected to other services' should be
'credentials to connect to other services'
Thanks Erik. I made all of these changes and will upload them in the
next review.
Jonathan
On 5/19/23 10:57 AM, Nathan Bossart wrote:
On Fri, May 19, 2023 at 12:17:50AM -0400, Jonathan S. Katz wrote:
PostgreSQL 16 continues to give users to the ability grant privileged access to
features without requiring superuser with new
[predefined roles](https://www.postgresql.org/docs/devel/predefined-roles.html).
These include `pg_maintain`, which enables execution of operations such as
`VACUUM`, `ANALYZE`, `REINDEX`, and others, and `pg_createsubscription`, which
allows users to create a logical replication subscription. Additionally,
starting with release, logical replication subscribers execute transactions on a
table as the table owner, not the superuser.[pg_use_]reserved_connections might also deserve a mention here. AFAICT
it's the only new predefined role that isn't mentioned in the announcement.
I'm okay with leaving it out if folks don't think it should make the cut.
I'm not sure how widely used this one would be, so I left it out.
However, open to other opinions.
Thanks,
Jonathan
On 5/19/23 12:17 AM, Jonathan S. Katz wrote:
Hi,
Attached is a draft of the release announcement for PostgreSQL 16 Beta
1. The goal of this announcement is to get people excited about testing
the beta and highlight many of the new features.Please review for inaccuracies, omissions, and other suggestions / errors.
Please provide feedback no later than May 24, 0:00 AoE. This will give
me enough time to incorporate the changes prior to the release the next
day.
Thanks everyone for your feedback. Here is the updated text that
combines all of the feedback from both -advocacy and -hackers.
Thanks,
Jonathan
Attachments:
On Sun, May 21, 2023 at 12:51:05PM -0400, Jonathan S. Katz wrote:
On 5/19/23 10:57 AM, Nathan Bossart wrote:
[pg_use_]reserved_connections might also deserve a mention here. AFAICT
it's the only new predefined role that isn't mentioned in the announcement.
I'm okay with leaving it out if folks don't think it should make the cut.I'm not sure how widely used this one would be, so I left it out. However,
open to other opinions.
Fair enough.
--
Nathan Bossart
Amazon Web Services: https://aws.amazon.com
Op 5/21/23 om 19:07 schreef Jonathan S. Katz:
On 5/19/23 12:17 AM, Jonathan S. Katz wrote:
Hi,
Attached is a draft of the release announcement for PostgreSQL 16 Beta
Please provide feedback no later than May 24, 0:00 AoE. This will giveThanks everyone for your feedback. Here is the updated text that
'substransaction' should be
'subtransaction'
'use thousands separators' perhaps is better:
'use underscore as digit-separator, as in `5_432` and `1_00_000`'
'instrcut' should be
'instruct'
Erik
On 5/22/23 3:23 PM, Erik Rijkers wrote:
Op 5/21/23 om 19:07 schreef Jonathan S. Katz:
On 5/19/23 12:17 AM, Jonathan S. Katz wrote:
Hi,
Attached is a draft of the release announcement for PostgreSQL 16
Beta Please provide feedback no later than May 24, 0:00 AoE. This
will giveThanks everyone for your feedback. Here is the updated text that
'substransaction' should be
'subtransaction'
Fixed.
'use thousands separators' perhaps is better:
'use underscore as digit-separator, as in `5_432` and `1_00_000`'
I looked at how other languages document this, and they do use the term
"thousands separators." I left that in, but explicitly called out the
underscore.
'instrcut' should be
'instruct'
Fixed. Attached is the (hopefully) final draft.
Thanks,
Jonathan
Attachments:
Hi,
On 2023-05-24 13:06:30 -0400, Jonathan S. Katz wrote:
PostgreSQL 16 Feature Highlights
--------------------------------### Performance
PostgreSQL 16 includes performance improvements in query execution. This release
adds more query parallelism, including allowing `FULL` and `RIGHT` joins to
execute in parallel, and parallel execution of the `string_agg` and `array_agg`
aggregate functions. Additionally, PostgreSQL 16 can use incremental sorts in
`SELECT DISTINCT` queries. There are also several optimizations for
[window queries](https://www.postgresql.org/docs/16/sql-expressions.html#SYNTAX-WINDOW-FUNCTIONS),
improvements in lookups for `RANGE` and `LIST` partitions, and support for
"anti-joins" in `RIGHT` and `OUTER` queries.This release also introduces support for CPU acceleration using SIMD for both
x86 and ARM architectures, including optimizations for processing ASCII and JSON
strings, and array and subtransaction searches. Additionally, PostgreSQL 16
introduces [load balancing](https://www.postgresql.org/docs/16/libpq-connect.html#LIBPQ-CONNECT-LOAD-BALANCE-HOSTS)
to libpq, the client library for PostgreSQL.
I think the relation extension improvements ought to be mentioned here as
well? Up to 3x faster concurrent data load with COPY seems practically
relevant.
Greetings,
Andres Freund
On 5/24/23 5:28 PM, Andres Freund wrote:
I think the relation extension improvements ought to be mentioned here as
well? Up to 3x faster concurrent data load with COPY seems practically
relevant.
I missed that -- not sure I'm finding it in the release notes with a
quick grep -- which commit/thread is this?
But yes this does sound like something that should be included, I just
want to read upon it.
Thanks,
Jonathan
Hi,
On 2023-05-24 19:57:39 -0400, Jonathan S. Katz wrote:
On 5/24/23 5:28 PM, Andres Freund wrote:
I think the relation extension improvements ought to be mentioned here as
well? Up to 3x faster concurrent data load with COPY seems practically
relevant.I missed that -- not sure I'm finding it in the release notes with a quick
grep -- which commit/thread is this?
It was split over quite a few commits, the one improving COPY most
significantly is
commit 00d1e02be24987180115e371abaeb84738257ae2
Author: Andres Freund <andres@anarazel.de>
Date: 2023-04-06 16:35:21 -0700
hio: Use ExtendBufferedRelBy() to extend tables more efficiently
Relevant thread: /messages/by-id/20221029025420.eplyow6k7tgu6he3@awork3.anarazel.de
It's in the release notes as:
Allow more efficient addition of heap and index pages (Andres Freund)
Greetings,
Andres Freund
On 5/24/23 8:04 PM, Andres Freund wrote:
Hi,
On 2023-05-24 19:57:39 -0400, Jonathan S. Katz wrote:
On 5/24/23 5:28 PM, Andres Freund wrote:
I think the relation extension improvements ought to be mentioned here as
well? Up to 3x faster concurrent data load with COPY seems practically
relevant.I missed that -- not sure I'm finding it in the release notes with a quick
grep -- which commit/thread is this?It was split over quite a few commits, the one improving COPY most
significantly iscommit 00d1e02be24987180115e371abaeb84738257ae2
Author: Andres Freund <andres@anarazel.de>
Date: 2023-04-06 16:35:21 -0700hio: Use ExtendBufferedRelBy() to extend tables more efficiently
Relevant thread: /messages/by-id/20221029025420.eplyow6k7tgu6he3@awork3.anarazel.de
It's in the release notes as:
Allow more efficient addition of heap and index pages (Andres Freund)
Ah, OK, that's why I didn't grok it. I read through the first message
in[1]/messages/by-id/20221029025420.eplyow6k7tgu6he3@awork3.anarazel.de and definitely agree it should be in the announcement. How about:
"PostgreSQL 16 also shows up to a 300% improvement when concurrently
loading data with `COPY`"
Thanks,
Jonathan
[1]: /messages/by-id/20221029025420.eplyow6k7tgu6he3@awork3.anarazel.de
On 5/24/23 9:20 PM, Jonathan S. Katz wrote:
On 5/24/23 8:04 PM, Andres Freund wrote:
Hi,
On 2023-05-24 19:57:39 -0400, Jonathan S. Katz wrote:
On 5/24/23 5:28 PM, Andres Freund wrote:
I think the relation extension improvements ought to be mentioned
here as
well? Up to 3x faster concurrent data load with COPY seems practically
relevant.I missed that -- not sure I'm finding it in the release notes with a
quick
grep -- which commit/thread is this?It was split over quite a few commits, the one improving COPY most
significantly iscommit 00d1e02be24987180115e371abaeb84738257ae2
Author: Andres Freund <andres@anarazel.de>
Date: 2023-04-06 16:35:21 -0700hio: Use ExtendBufferedRelBy() to extend tables more efficiently
Relevant thread:
/messages/by-id/20221029025420.eplyow6k7tgu6he3@awork3.anarazel.deIt's in the release notes as:
Allow more efficient addition of heap and index pages (Andres Freund)Ah, OK, that's why I didn't grok it. I read through the first message
in[1] and definitely agree it should be in the announcement. How about:"PostgreSQL 16 also shows up to a 300% improvement when concurrently
loading data with `COPY`"
I currently have it as the below in the release announcement. If it you
send any suggested updates, I can try to put them in before release:
PostgreSQL 16 can also improve the performance of concurrent bulk
loading of data using
[`COPY`](https://www.postgresql.org/docs/16/sql-copy.html) up to a 300%.
Jonathan
On 5/24/23 11:30 PM, Jonathan S. Katz wrote:
On 5/24/23 9:20 PM, Jonathan S. Katz wrote:
I currently have it as the below in the release announcement. If it you
send any suggested updates, I can try to put them in before release:PostgreSQL 16 can also improve the performance of concurrent bulk
loading of data using
[`COPY`](https://www.postgresql.org/docs/16/sql-copy.html) up to a 300%.
(without the "a 300%" typo).
Jonathan
Hi,
On 2023-05-24 23:30:58 -0400, Jonathan S. Katz wrote:
Ah, OK, that's why I didn't grok it. I read through the first message
in[1] and definitely agree it should be in the announcement. How about:"PostgreSQL 16 also shows up to a 300% improvement when concurrently
loading data with `COPY`"I currently have it as the below in the release announcement. If it you send
any suggested updates, I can try to put them in before release:PostgreSQL 16 can also improve the performance of concurrent bulk loading of
data using [`COPY`](https://www.postgresql.org/docs/16/sql-copy.html) up to
a 300%.
It also speeds up concurrent loading when not using COPY, just to a lesser
degree. But I can't come up with a concise phrasing for that right now...
Greetings,
Andres Freund
On 5/25/23 12:16 AM, Andres Freund wrote:
Hi,
On 2023-05-24 23:30:58 -0400, Jonathan S. Katz wrote:
Ah, OK, that's why I didn't grok it. I read through the first message
in[1] and definitely agree it should be in the announcement. How about:"PostgreSQL 16 also shows up to a 300% improvement when concurrently
loading data with `COPY`"I currently have it as the below in the release announcement. If it you send
any suggested updates, I can try to put them in before release:PostgreSQL 16 can also improve the performance of concurrent bulk loading of
data using [`COPY`](https://www.postgresql.org/docs/16/sql-copy.html) up to
a 300%.It also speeds up concurrent loading when not using COPY, just to a lesser
degree. But I can't come up with a concise phrasing for that right now...
I left as is (in part because of a hurried morning), but we can improve
upon it for the GA.
Thanks,
Jonathan