Update PostgreSQL 15 press release draft to include links
authorJonathan S. Katz <jonathan.katz@excoventures.com>
Mon, 12 Sep 2022 16:49:16 +0000 (12:49 -0400)
committerJonathan S. Katz <jonathan.katz@excoventures.com>
Mon, 12 Sep 2022 16:49:16 +0000 (12:49 -0400)
releases/15/release.en.md

index 3a7fb307dbb96a10cd129459c609a1e0f9439efa..84c1fcc1daa9300a42319028fdf7610968dbba45 100644 (file)
@@ -5,8 +5,9 @@ version of the world’s [most advanced open source database](https://www.postgr
 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.
+experience with the addition of the popular
+[`MERGE`](https://www.postgresql.org/docs/15/sql-merge.html) command, and adds
+more capabilities for observing the state of the database.
 
 <HOLD FOR QUOTE>
 
@@ -18,75 +19,102 @@ 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
+In this latest release, PostgreSQL improves on its in-memory and on-disk
+[sorting](https://www.postgresql.org/docs/15/queries-order.html) algorithms,
+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
-`SELECT DISTINCT` can now be executed in parallel.
+[`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).
 
-Building on work from the previous PostgreSQL release for allowing async remote
-queries, the PostgreSQL foreign data wrapper, `postgres_fdw`, now supports
-asynchronous commits.
+Building on work from the [previous PostgreSQL release](https://www.postgresql.org/about/press/presskit14/)
+for allowing async remote queries, the
+[PostgreSQL foreign data wrapper](https://www.postgresql.org/docs/15/postgres-fdw.html),
+[`postgres_fdw`](https://www.postgresql.org/docs/15/postgres-fdw.html),
+now supports
+[asynchronous commits](https://www.postgresql.org/docs/15/postgres-fdw.html#id-1.11.7.47.11.7).
 
 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.
+facilities. PostgreSQL 15 adds support for LZ4 and Zstandard (zstd)
+[compression to write-ahead log (WAL) files](https://www.postgresql.org/docs/15/runtime-config-wal.html#GUC-WAL-COMPRESSION),
+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,
+[`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
+[custom modules for archiving](https://www.postgresql.org/docs/15/archive-modules.html),
+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.
+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`,
+`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
+This latest release adds
+[new functions for using regular expressions](https://www.postgresql.org/docs/15/functions-matching.html#FUNCTIONS-POSIX-REGEXP)
+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.
+aggregate
+[`multirange` data types](https://www.postgresql.org/docs/15/rangetypes.html),
+which were introduced in the
+[previous release](https://www.postgresql.org/about/press/presskit14/).
 
-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.
+PostgreSQL 15 lets users
+[create views that query data using the permissions of the caller, not the view creator](https://www.postgresql.org/docs/15/sql-createview.html).
+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.
+PostgreSQL 15 provides more flexibility for managing
+[logical replication](https://www.postgresql.org/docs/15/logical-replication.html).
+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)
+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
+adds features to simplify
+[conflict management](https://www.postgresql.org/docs/15/logical-replication-conflicts.html),
+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 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 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.
+for information about configuration using the `\dconfig` command from the
+[`psql`](https://www.postgresql.org/docs/15/app-psql.html) 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
+[server-level statistics](https://www.postgresql.org/docs/15/monitoring-stats.html)
+are now collected in shared memory, eliminating both the statistics collector
+process and periodically writing this data to disk.
 
-PostgreSQL 15 also revokes the `CREATE` permission from all users except a
-database owner from the `public` (or default) schema.
+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.
 
 PostgreSQL 15 removes both the long-deprecated "exclusive backup" mode and
 support for Python 2 from PL/Python.