On 8/31/22 8:15 PM, Justin Pryzby wrote:
On Tue, Aug 30, 2022 at 03:58:48PM -0400, Jonathan S. Katz wrote:

In this latest release, PostgreSQL improves on its in-memory and on-disk sorting
algorithms, with benchmarks showing speedups of 25% - 400% based on sort types.

rather than "based on": "depending on the data types being sorted"

I followed this suggestion but modified it in a different way. Still, I'm not sure if this conveys the full breadth of the features. I wonder if we should expand on the sorting changes more?


Building on work from the previous PostgreSQL release for allowing async remote
queries, the PostgreSQL foreign data wrapper, `postgres_fdw`, can now commit
transactions in parallel.

asynchronous

Modified.

benefits for certain workloads. On certain operating systems, PostgreSQL 15

s/certain/some ?

I think "some" sounds like "it may or may not work" vs. "certain" says that it "can work with tuning". We still want to ensure that people are excited about the feature and try it out.

supports the ability to prefetch WAL file contents and speed up recovery times.

PostgreSQL's built-in backup command, `pg_basebackup`, now supports server-side
compression of backup files with a choice of gzip, LZ4, and zstd.

remove "server-side", since they're also supported on the client-side.

The server-side feature is the new piece for PG15. Gzip was already supported on the client-side; lz4 + zstd are new for PG15.

I think the server-side compression is the part to call out, as you can benefit from that existing on the server prior to transferring the backup elsewhere, and have that network savings. However, happy to be told that we should discuss both server/client compression in the announcement.

the caller, not the view creator. This option, called `security_invoker`, adds
an additional layer of protection to ensure view callers have the correct
permissions for working with the underlying data.

ensure *that ?

Fixed.

alter server-level configuration parameters. Additionally, users can now search
for information about configuration using the `\dconfig` command from the `psql`
command-line tool.

rather than "search for information about configuration", say "list
configuration information" ?

You can search though -- it supports wildcards. I understand the point -- really you are still listing it out, but I think one of the neat things is I can fairly easily search for the name of a config parameter from the CLI, even if I can't remember the correct or full name of it.

PostgreSQL server-level statistics are now collected in shared memory,
eliminating the statistics collector process and writing these stats to disk.

and *the need to periodically* write these stats to disk

Modified this. However, does this appropriately capture the performance benefit of having the server-level stats collection modified in this way? Does it capture all the benefits?

New version attached.

Thanks,

Jonathan
The PostgreSQL Global Development Group today announced the release of
[PostgreSQL 15](https://www.postgresql.org/docs/15/release-15.html), the latest
version of the world’s [most advanced open source 
database](https://www.postgresql.org/).

PostgreSQL 15 builds on the performance improvements of recent releases with
noticeable gains for managing workloads in both local and distributed
deployments, including improved sorting. This release improves the developer
experience with the addition of the popular `MERGE` command, and adds more
capabilities for observing the state of the database.

<HOLD FOR QUOTE>

[PostgreSQL](https://www.postgresql.org), an innovative data management system
known for its reliability and robustness, benefits from over 25 years of open
source development from a [global developer 
community](https://www.postgresql.org/community/)
and has become the preferred open source relational database for organizations
of all sizes.

### Improved Sort Performance and Compression

In this latest release, PostgreSQL improves on its in-memory and on-disk sorting
algorithms, with benchmarks showing speedups of 25% - 400% based on which data
types are sorted. Using `row_number()`, `rank()`, and `count()` as window 
functions
also have performance benefits in PostgreSQL 15, and queries using
`SELECT DISTINCT` can now be executed in parallel.

Building on work from the previous PostgreSQL release for allowing async remote
queries, the PostgreSQL foreign data wrapper, `postgres_fdw`, now supports
asynchronous commits.

The performance improvements in PostgreSQL 15 extend to its archiving and backup
facilities. PostgreSQL 15 adds support for LZ4 and Zstandard (zstd) compression
to write-ahead log (WAL) files, which can have both space and performance
benefits for certain workloads. On certain operating systems, PostgreSQL 15
supports the ability to prefetch WAL file contents and speed up recovery times.
PostgreSQL's built-in backup command, `pg_basebackup`, now supports server-side
compression of backup files with a choice of gzip, LZ4, and zstd. PostgreSQL 15
includes the ability to use custom modules for archiving, which eliminates the
overhead of using a shell command.

### Expressive Developer Features

PostgreSQL 15 includes the SQL standard `MERGE` command. `MERGE` lets you write
conditional SQL statements that include `INSERT`, `UPDATE`, and `DELETE` actions
within a single statement.

This latest release adds new functions for using regular expressions to inspect
strings: `regexp_count()`, `regexp_instr()`, `regexp_like()`, and
`regexp_substr()`. PostgreSQL 15 also extends the `range_agg` function to
aggregate `multirange` data types, which were introduced in the previous
release.

PostgreSQL 15 lets users create views that query data using the permissions of
the caller, not the view creator. This option, called `security_invoker`, adds
an additional layer of protection to ensure that view callers have the correct
permissions for working with the underlying data.

### More Options with Logical Replication

PostgreSQL 15 provides more flexibility for managing logical replication. This
release introduces row and column filtering for publishers, letting users choose
to replicate a subset of data from a table. PostgreSQL 15 adds features to
simplify conflict management, including the ability to skip replaying a
conflicting transaction and to automatically disable a subscription if an error
is detected. This release also includes support for using two-phase commit (2PC)
with logical replication.

### Logging and Configuration Enhancements

PostgreSQL 15 introduces a new logging format: `jsonlog`. This new format
outputs log data using a defined JSON structure, which allows PostgreSQL logs to
be processed in structured logging systems. This release also adds a new
built-in extension, `pg_walinspect`, that lets users inspect the contents of
write-ahead log files directly from a SQL interface.

PostgreSQL 15 gives database administrators more flexibility in how users can
manage PostgreSQL configuration, adding the ability to grant users permission to
alter server-level configuration parameters. Additionally, users can now search
for information about configuration using the `\dconfig` command from the `psql`
command-line tool.

### Other Notable Changes

PostgreSQL server-level statistics are now collected in shared memory,
eliminating both the statistics collector process and periodically writing these
stats to disk.

PostgreSQL 15 also revokes the `CREATE` permission from all users except a
database owner from the `public` (or default) schema.

PostgreSQL 15 removes both the long-deprecated "exclusive backup" mode and
support for Python 2 from PL/Python.

### About PostgreSQL

[PostgreSQL](https://www.postgresql.org) is the world's most advanced open
source database, with a global community of thousands of users, contributors,
companies and organizations. Built on over 35 years of engineering, starting at
the University of California, Berkeley, PostgreSQL has continued with an
unmatched pace of development. PostgreSQL's mature feature set not only matches
top proprietary database systems, but exceeds them in advanced database
features, extensibility, security, and stability.

### Links

* [Download](https://www.postgresql.org/download/)
* [Release Notes](https://www.postgresql.org/docs/15/release-15.html)
* [Press Kit](https://www.postgresql.org/about/press/)
* [Security Page](https://www.postgresql.org/support/security/)
* [Versioning Policy](https://www.postgresql.org/support/versioning/)
* [Follow @postgresql on Twitter](https://twitter.com/postgresql)

Attachment: OpenPGP_signature
Description: OpenPGP digital signature

Reply via email to