with benchmarks showing speedups of 25% - 400% based on which data types are
sorted. Using `row_number()`, `rank()`, and `count()` as
[window functions](https://www.postgresql.org/docs/15/functions-window.html)
-also have performance benefits in PostgreSQL 15, and queries using
+also have performance benefits in PostgreSQL 15. Queries using
[`SELECT DISTINCT`](https://www.postgresql.org/docs/15/queries-select-lists.html#QUERIES-DISTINCT)
can now be
[executed in parallel](https://www.postgresql.org/docs/15/parallel-query.html).
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](https://www.postgresql.org/docs/15/runtime-config-wal.html#GUC-RECOVERY-PREFETCH)
-and speed up recovery times. PostgreSQL's built-in backup command,
+to speed up recovery times. PostgreSQL's built-in backup command,
[`pg_basebackup`](https://www.postgresql.org/docs/15/app-pgbasebackup.html), now
supports server-side compression of backup files with a choice of gzip, LZ4, and
zstd. PostgreSQL 15 includes the ability to use
PostgreSQL 15 includes the SQL standard
[`MERGE`](https://www.postgresql.org/docs/15/sql-merge.html) command.
-`MERGE` lets you write conditional SQL statements that include `INSERT`,
+`MERGE` lets you write conditional SQL statements that can include `INSERT`,
`UPDATE`, and `DELETE` actions within a single statement.
This latest release adds
This release introduces
[row filtering](https://www.postgresql.org/docs/15/logical-replication-row-filter.html)
and
-[column filtering](https://www.postgresql.org/docs/15/sql-createpublication.html)
+[column lists](https://www.postgresql.org/docs/15/logical-replication-col-lists.html)
for
[publishers](https://www.postgresql.org/docs/15/logical-replication-publication.html),
letting users choose to replicate a subset of data from a table. PostgreSQL 15
PostgreSQL 15 introduces a new logging format:
[`jsonlog`](https://www.postgresql.org/docs/15/runtime-config-logging.html#RUNTIME-CONFIG-LOGGING-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`](https://www.postgresql.org/docs/15/pgwalinspect.html), that
-lets users inspect the contents of write-ahead log files directly from a SQL
-interface.
+PostgreSQL logs to be processed in structured logging systems.
-PostgreSQL 15 gives database administrators more flexibility in how users can
+This release 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
are now collected in shared memory, eliminating both the statistics collector
process and periodically writing this data to disk.
+PostgreSQL 15 makes it possible to make an
+[ICU collation](https://www.postgresql.org/docs/15/collation.html) the default
+collation for a cluster or an individual database.
+
+This release also
+adds a new built-in extension,
+[`pg_walinspect`](https://www.postgresql.org/docs/15/pgwalinspect.html), that
+lets users inspect the contents of write-ahead log files directly from a SQL
+interface.
+
PostgreSQL 15 also
[revokes the `CREATE` permission from all users](https://www.postgresql.org/docs/15/ddl-schemas.html#DDL-SCHEMAS-PATTERNS)
except a database owner from the `public` (or default) schema.