Thread: PostgreSQL 14 press release draft
Hi, Attached is a copy of the first draft for the PG14 press release. This brings together highlights of many of the features in the upcoming PostgreSQL 14 release while providing context on their significance. With the plethora of new features coming in PostgreSQL 14, it is challenging to highlight them all, but the idea is to give a glimpse of what to expect in the new release. Feedback on the release is welcome. However, please provide your feedback on the release no later than **Thu, Sep 23, 2021 @ 18:00 UTC**. Thanks, Jonathan
Attachment
On Mon, Sep 20, 2021 at 10:19:32PM -0400, Jonathan S. Katz wrote: > PostgreSQL 14 provides a significant throughput boost on workloads that use many > connections, with some benchmarks showing a 2x speedup. This release continues > on the recent improvements the overall management of B-tree indexes by reducing > index bloat on tables with [frequently updated indexes](https://www.postgresql.org/docs/14/btree-implementation.html#BTREE-DELETION). improvements *in* ? > [Foreign data wrappers](https://www.postgresql.org/docs/14/sql-createforeigndatawrapper.html), > used to work with federated workloads across PostgreSQL and other databases, can It'd be clearer to write "used for working". "Used to work" sounds like it no longer works. > PostgreSQL 14 extends its performance gains to its [vacuuming](https://www.postgresql.org/docs/14/routine-vacuuming.html) to *the* vacuuming system ? > indexes and now allows autovacuum to analyze partitioned tables and propagate > information to its parents. This was reverted last month. > The choice of compression for PostgreSQL's [TOAST](https://www.postgresql.org/docs/14/storage-toast.html) > system, which is used to store larger data like blocks of text or geometries, > can [now be configured](https://www.postgresql.org/docs/14/runtime-config-client.html#GUC-DEFAULT-TOAST-COMPRESSION). Remove "the choice of" ? > The [extended systems](https://www.postgresql.org/docs/14/planner-stats.html#PLANNER-STATS-EXTENDED) s/systems/statistics/ > includes many improvements in PostgreSQL 14, including the ability to apply > extend statistics on expressions. Additionally, s/extend/extended/ -- Justin
On 9/21/21 12:09 AM, Justin Pryzby wrote: > On Mon, Sep 20, 2021 at 10:19:32PM -0400, Jonathan S. Katz wrote: > >> PostgreSQL 14 provides a significant throughput boost on workloads that use many >> connections, with some benchmarks showing a 2x speedup. This release continues >> on the recent improvements the overall management of B-tree indexes by reducing >> index bloat on tables with [frequently updated indexes](https://www.postgresql.org/docs/14/btree-implementation.html#BTREE-DELETION). > > improvements *in* ? Modified, albeit a bit differently. >> [Foreign data wrappers](https://www.postgresql.org/docs/14/sql-createforeigndatawrapper.html), >> used to work with federated workloads across PostgreSQL and other databases, can > > It'd be clearer to write "used for working". > "Used to work" sounds like it no longer works. Modified, albeit a bit differently. >> PostgreSQL 14 extends its performance gains to its [vacuuming](https://www.postgresql.org/docs/14/routine-vacuuming.html) > > to *the* vacuuming system ? I think this could go either way, but I changed it to the above suggestion. >> indexes and now allows autovacuum to analyze partitioned tables and propagate >> information to its parents. > > This was reverted last month. I did not see that in the copy of the release notes that I was working off of; I have gone ahead and removed it from the press release. Thanks! > >> The choice of compression for PostgreSQL's [TOAST](https://www.postgresql.org/docs/14/storage-toast.html) >> system, which is used to store larger data like blocks of text or geometries, >> can [now be configured](https://www.postgresql.org/docs/14/runtime-config-client.html#GUC-DEFAULT-TOAST-COMPRESSION). > > Remove "the choice of" ? Modified. >> The [extended systems](https://www.postgresql.org/docs/14/planner-stats.html#PLANNER-STATS-EXTENDED) > > s/systems/statistics/ > >> includes many improvements in PostgreSQL 14, including the ability to apply >> extend statistics on expressions. Additionally, > > s/extend/extended/ Modified, albeit a bit differently. Updated draft attached. As a reminder, please provide any feedback on the press release no later than **Thu, Sep 23, 2021 @ 18:00 UTC**. Thanks! Jonathan
Attachment
On 9/22/21 10:17 AM, Jonathan S. Katz wrote: > Updated draft attached. As a reminder, please provide any feedback on > the press release no later than **Thu, Sep 23, 2021 @ 18:00 UTC**. I'm sure it helps if I actually attach the draft. Jonathan
Attachment
Some super quick nitpicks; feel free to ignore/apply/laugh off.
...
administrators to deploy their data-backed applications. PostgreSQL continues to
add innovations on complex data types, including more conveniences for accessing
JSON and support for noncontiguous ranges of data. This latest release also adds
to PostgreSQL's trend on improvements for high performance and distributed
data workloads, with advances in support for connection concurrency, high-write
workloads, query parallelism and logical replication.
>> add innovations on complex data types -> add innovations to? "on" sounds odd
>> comma after "query parallelism" please
now works. This aligns PostgreSQL with commonly recognized syntax for
retrieving information from JSON data. The subscripting framework added to
PostgreSQL 14 can be generally extended to other nested data structures, and is
also applied to the `hstore` data type in this release.
>> with commonly recognized syntax -> with the commonly recognized syntax
>> hyperlink hstore?
[Range types](https://www.postgresql.org/docs/14/rangetypes.html), also first
released in PostgreSQL 9.2, now have support for noncontiguous ranges through
the introduction of the "[multirange](https://www.postgresql.org/docs/14/rangetypes.html#RANGETYPES-BUILTIN)".
A multirange is an ordered list of ranges that are nonoverlapping, which allows
for developers to write simpler queries for dealing with complex sequences of
>> introduction of the multirange -> introduction of the multirange type
>> which allows for developers to write -> which lets developers write
on the recent improvements to the overall management of B-tree indexes by
>> to the overall management -> to the management
operations. As this is a client-side feature, you can use pipeline mode with any
modern PostgreSQL database so long as you use the version 14 client.
>> more complicated than "version 14 client", more like - if the application has explicit
>> support for it and was compiled via libpq against PG 14.
>> Just don't want to overpromise here
[Foreign data wrappers](https://www.postgresql.org/docs/14/sql-createforeigndatawrapper.html),
which are used for working with federated workloads across PostgreSQL and other
>> which are used for -> used for
In addition to supporting query parallelism, `postgres_fdw` can now also bulk
insert data on foreign tables and import table partitions with the
[`IMPORT FOREIGN SCHEMA`](https://www.postgresql.org/docs/14/sql-importforeignschema.html)
directive.
>> can now also bulk insert -> can now bulk insert
>> on foreign tables and import -> on foreign tables, and can import
PostgreSQL 14 extends its performance gains to the [vacuuming](https://www.postgresql.org/docs/14/routine-vacuuming.html)
system, including optimizations for reducing overhead from B-Trees.
>> B-Tree or B-tree - pick one (latter used earlier in this doc)
lets you uniquely track a query through several PostgreSQL systems, including
[`pg_stat_activity`](https://www.postgresql.org/docs/14/monitoring-stats.html#MONITORING-PG-STAT-ACTIVITY-VIEW),
[`EXPLAIN VERBOSE`](https://www.postgresql.org/docs/14/sql-explain.html), and
through several logging functions.
>> "several PostgreSQL systems" sounds weird.
>> "several logging functions" - not sure what this means
parallel queries when using the `RETURN QUERY` directive, and enabling
>> directive -> command
now benefit from incremental sorts, a feature that was introduced in
[PostgreSQL 13](https://www.postgresql.org/about/news/postgresql-13-released-2077/).
>> that was introduced in -> introduced in
function. This release also adds the SQL conforming
[`SEARCH`](https://www.postgresql.org/docs/14/queries-with.html#QUERIES-WITH-SEARCH)
and [`CYCLE`](https://www.postgresql.org/docs/14/queries-with.html#QUERIES-WITH-CYCLE)
directives to help with ordering and cycle detection for recursive
[common table expressions](https://www.postgresql.org/docs/14/queries-with.html#QUERIES-WITH-RECURSIVE).
>> directives -> clauses
PostgreSQL 14 makes it convenient to assign read-only and write-only privileges
>> convenient -> easy
companies and organizations. Built on over 30 years of engineering, starting at
>> companies -> companies,
>> we claims 25 years at the top, 30 here. That's 5 non-open-source years? :)
administrators to deploy their data-backed applications. PostgreSQL continues to
add innovations on complex data types, including more conveniences for accessing
JSON and support for noncontiguous ranges of data. This latest release also adds
to PostgreSQL's trend on improvements for high performance and distributed
data workloads, with advances in support for connection concurrency, high-write
workloads, query parallelism and logical replication.
>> add innovations on complex data types -> add innovations to? "on" sounds odd
>> comma after "query parallelism" please
now works. This aligns PostgreSQL with commonly recognized syntax for
retrieving information from JSON data. The subscripting framework added to
PostgreSQL 14 can be generally extended to other nested data structures, and is
also applied to the `hstore` data type in this release.
>> with commonly recognized syntax -> with the commonly recognized syntax
>> hyperlink hstore?
[Range types](https://www.postgresql.org/docs/14/rangetypes.html), also first
released in PostgreSQL 9.2, now have support for noncontiguous ranges through
the introduction of the "[multirange](https://www.postgresql.org/docs/14/rangetypes.html#RANGETYPES-BUILTIN)".
A multirange is an ordered list of ranges that are nonoverlapping, which allows
for developers to write simpler queries for dealing with complex sequences of
>> introduction of the multirange -> introduction of the multirange type
>> which allows for developers to write -> which lets developers write
on the recent improvements to the overall management of B-tree indexes by
>> to the overall management -> to the management
operations. As this is a client-side feature, you can use pipeline mode with any
modern PostgreSQL database so long as you use the version 14 client.
>> more complicated than "version 14 client", more like - if the application has explicit
>> support for it and was compiled via libpq against PG 14.
>> Just don't want to overpromise here
[Foreign data wrappers](https://www.postgresql.org/docs/14/sql-createforeigndatawrapper.html),
which are used for working with federated workloads across PostgreSQL and other
>> which are used for -> used for
In addition to supporting query parallelism, `postgres_fdw` can now also bulk
insert data on foreign tables and import table partitions with the
[`IMPORT FOREIGN SCHEMA`](https://www.postgresql.org/docs/14/sql-importforeignschema.html)
directive.
>> can now also bulk insert -> can now bulk insert
>> on foreign tables and import -> on foreign tables, and can import
PostgreSQL 14 extends its performance gains to the [vacuuming](https://www.postgresql.org/docs/14/routine-vacuuming.html)
system, including optimizations for reducing overhead from B-Trees.
>> B-Tree or B-tree - pick one (latter used earlier in this doc)
lets you uniquely track a query through several PostgreSQL systems, including
[`pg_stat_activity`](https://www.postgresql.org/docs/14/monitoring-stats.html#MONITORING-PG-STAT-ACTIVITY-VIEW),
[`EXPLAIN VERBOSE`](https://www.postgresql.org/docs/14/sql-explain.html), and
through several logging functions.
>> "several PostgreSQL systems" sounds weird.
>> "several logging functions" - not sure what this means
parallel queries when using the `RETURN QUERY` directive, and enabling
>> directive -> command
now benefit from incremental sorts, a feature that was introduced in
[PostgreSQL 13](https://www.postgresql.org/about/news/postgresql-13-released-2077/).
>> that was introduced in -> introduced in
function. This release also adds the SQL conforming
[`SEARCH`](https://www.postgresql.org/docs/14/queries-with.html#QUERIES-WITH-SEARCH)
and [`CYCLE`](https://www.postgresql.org/docs/14/queries-with.html#QUERIES-WITH-CYCLE)
directives to help with ordering and cycle detection for recursive
[common table expressions](https://www.postgresql.org/docs/14/queries-with.html#QUERIES-WITH-RECURSIVE).
>> directives -> clauses
PostgreSQL 14 makes it convenient to assign read-only and write-only privileges
>> convenient -> easy
companies and organizations. Built on over 30 years of engineering, starting at
>> companies -> companies,
>> we claims 25 years at the top, 30 here. That's 5 non-open-source years? :)
On 9/22/21 12:57 PM, Greg Sabino Mullane wrote: > Some super quick nitpicks; feel free to ignore/apply/laugh off. Thanks. I incorporated many of the suggestions. Here is the press release at is stands. As we are past the deadline for feedback, we are going to start the translation effort for the press kit. Of course, critical changes will still be applied but this is the press release as it stands. Thank you for your feedback! Jonathan