PostgreSQL 16 Beta 1 release announcement draft

Started by Jonathan S. Katzover 2 years ago17 messages
#1Jonathan S. Katz
jkatz@postgresql.org
1 attachment(s)

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:

16beta1.mdtext/plain; charset=UTF-8; name=16beta1.mdDownload
#2Erik Rijkers
er@xs4all.nl
In reply to: Jonathan S. Katz (#1)
Re: PostgreSQL 16 Beta 1 release announcement draft

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

#3Nathan Bossart
nathandbossart@gmail.com
In reply to: Jonathan S. Katz (#1)
Re: PostgreSQL 16 Beta 1 release announcement draft

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

#4Jonathan S. Katz
jkatz@postgresql.org
In reply to: Erik Rijkers (#2)
Re: PostgreSQL 16 Beta 1 release announcement draft

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

#5Jonathan S. Katz
jkatz@postgresql.org
In reply to: Nathan Bossart (#3)
Re: PostgreSQL 16 Beta 1 release announcement draft

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

#6Jonathan S. Katz
jkatz@postgresql.org
In reply to: Jonathan S. Katz (#1)
1 attachment(s)
Re: PostgreSQL 16 Beta 1 release announcement draft

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:

16beta1.mdtext/plain; charset=UTF-8; name=16beta1.mdDownload
#7Nathan Bossart
nathandbossart@gmail.com
In reply to: Jonathan S. Katz (#5)
Re: PostgreSQL 16 Beta 1 release announcement draft

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

#8Erik Rijkers
er@xs4all.nl
In reply to: Jonathan S. Katz (#6)
Re: PostgreSQL 16 Beta 1 release announcement draft

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 give

Thanks 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

#9Jonathan S. Katz
jkatz@postgresql.org
In reply to: Erik Rijkers (#8)
1 attachment(s)
Re: PostgreSQL 16 Beta 1 release announcement draft

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 give

Thanks 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:

16beta1.mdtext/plain; charset=UTF-8; name=16beta1.mdDownload
#10Andres Freund
andres@anarazel.de
In reply to: Jonathan S. Katz (#9)
Re: PostgreSQL 16 Beta 1 release announcement draft

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

#11Jonathan S. Katz
jkatz@postgresql.org
In reply to: Andres Freund (#10)
Re: PostgreSQL 16 Beta 1 release announcement draft

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

#12Andres Freund
andres@anarazel.de
In reply to: Jonathan S. Katz (#11)
Re: PostgreSQL 16 Beta 1 release announcement draft

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

#13Jonathan S. Katz
jkatz@postgresql.org
In reply to: Andres Freund (#12)
Re: PostgreSQL 16 Beta 1 release announcement draft

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 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)

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

#14Jonathan S. Katz
jkatz@postgresql.org
In reply to: Jonathan S. Katz (#13)
Re: PostgreSQL 16 Beta 1 release announcement draft

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 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)

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

#15Jonathan S. Katz
jkatz@postgresql.org
In reply to: Jonathan S. Katz (#14)
Re: PostgreSQL 16 Beta 1 release announcement draft

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

#16Andres Freund
andres@anarazel.de
In reply to: Jonathan S. Katz (#14)
Re: PostgreSQL 16 Beta 1 release announcement draft

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

#17Jonathan S. Katz
jkatz@postgresql.org
In reply to: Andres Freund (#16)
Re: PostgreSQL 16 Beta 1 release announcement draft

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