PostgreSQL 14 continues the trend of recent releases in providing performance
benefits to workloads of all sizes.
-This release has significant improvements in transaction throughput in
+This release has significant improvements in transaction throughput for
PostgreSQL systems that have large numbers of connections to the database,
-regardless if they are active or idle.
+regardless if they in an active or idle state.
PostgreSQL 14 also contains additional gains in reducing B-tree indexing
-overhead, including reducing the bloat on tables with frequently updated
-indexes. [GiST indexes](https://www.postgresql.org/docs/14/indexes-types.html#INDEXES-TYPE-GIST)
-can now use pre-sorted data during their build process, allowing both for faster
+overhead, including [reducing the bloat on tables with frequently updated indexes](https://www.postgresql.org/docs/14/btree-implementation.html#BTREE-DELETION).
+[GiST indexes](https://www.postgresql.org/docs/14/indexes-types.html#INDEXES-TYPE-GIST)
+can now presort data during their build process, allowing both for faster
index creation and smaller indexes.
[SP-GiST indexes](https://www.postgresql.org/docs/14/indexes-types.html#INDEXES-TYPE-SPGIST)
now support [covering indexes](https://www.postgresql.org/docs/14/indexes-index-only-scans.html)
-that allow users to add additional, nonsearchable columns to the index through
+that allow users to add additional nonsearchable columns to the index through
the `INCLUDE` clause.
There are many improvements to query parallelism in PostgreSQL 14. In addition
PostgreSQL 14 also introduces the ability to leverage query parallelism when
querying remote databases using [foreign data wrappers](https://www.postgresql.org/docs/14/sql-createforeigndatawrapper.html).
The PostgreSQL foreign data wrapper, [`postgres_fdw`](https://www.postgresql.org/docs/14/postgres-fdw.html),
-added support for this in PostgreSQL 14 when the `async_capable` flag is it.
+added support for this in PostgreSQL 14 when the `async_capable` flag is set.
`postgres_fdw` also supports bulk inserts and can import table partitions using
[`IMPORT FOREIGN SCHEMA`](https://www.postgresql.org/docs/14/sql-importforeignschema.html)
and can now execute [`TRUNCATE`](https://www.postgresql.org/docs/14/sql-truncate.html)
-can on foreign tables.
+on foreign tables.
This release also has several improvements to the partitioning system, including
performance gains when updating or deleting rows on tables where only a few
Incremental sorting, introduced in the previous release, can now be used by
[window functions](https://www.postgresql.org/docs/14/functions-window.html) in
PostgreSQL 14. This new release adds more capabilities to [extended statistics](https://www.postgresql.org/docs/14/planner-stats.html),
-which can now be used on [expressions](https://www.postgresql.org/docs/14/view-pg-stats-ext-exprs.html).
+which can now be applied to [expressions](https://www.postgresql.org/docs/14/view-pg-stats-ext-exprs.html).
PostgreSQL has supported compression on its "oversized data" columns (i.e. the
[TOAST](https://www.postgresql.org/docs/14/storage-toast.html) system) for
decades, but this release adds the ability to now choose to use
-[LZ4 compression](https://www.postgresql.org/docs/14/sql-createtable.html) on
-tables.
+[LZ4 compression](https://www.postgresql.org/docs/14/sql-createtable.html) for
+column compression.
### Data Types + SQL
types.
PostgreSQL 14 now adds a general subscripting framework for retrieving
-information in nested objects. For example, using the `JSONB` data type with,
-you now are able to retrieve nested info just using the `.` operator (e.g.
-`this.now.works.to.retrieve.this.json.data`).
+information in nested objects. For example, you can now retrieve nested info
+in the `JSONB` data type using only the `.` operator (e.g. `this.now.works.to.retrieve.this.json.data`).
PostgreSQL 14 also adds support for `OUT` parameters in [stored procedures](https://www.postgresql.org/docs/14/sql-createprocedure.html),
and allows for the `GROUP BY` clause to use the `DISTINCT` keyword to remove duplicate
PostgreSQL 14 makes numerous improvements to [`VACUUM`](https://www.postgresql.org/docs/14/routine-vacuuming.html),
with optimizations geared towards indexes. Autovacuum now analyzes partitioned
-tables and can bubble information about row counts to parent tables. There are
-also performance gains in [`ANALYZE`](https://www.postgresql.org/docs/14/sql-analyze.html)
+tables and can propagate information about row counts to parent tables. There
+are also performance gains in [`ANALYZE`](https://www.postgresql.org/docs/14/sql-analyze.html)
that can be controlled with [`maintenance_io_concurrency`](https://www.postgresql.org/docs/14/runtime-config-resource.html#GUC-MAINTENANCE-IO-CONCURRENCY)
parameter.
PostgreSQL 14 includes numerous improvements on what information can be
monitored, including the ability to track progress on `COPY` using the
[`pg_stat_progress_copy`](https://www.postgresql.org/docs/14/progress-reporting.html#COPY-PROGRESS-REPORTING)
-view. This release lets WAL activity be tracked from the [`pg_stat_wal`](https://www.postgresql.org/docs/14/monitoring-stats.html#MONITORING-PG-STAT-WAL-VIEW)
-view, and to inspect replication slot status from the [`pg_stat_replication_slots`](https://www.postgresql.org/docs/14/monitoring-stats.html#MONITORING-PG-STAT-REPLICATION-SLOTS-VIEW)
+view. This release lets you track WAL activity from the [`pg_stat_wal`](https://www.postgresql.org/docs/14/monitoring-stats.html#MONITORING-PG-STAT-WAL-VIEW)
+view, and inspect replication slot statuses from the [`pg_stat_replication_slots`](https://www.postgresql.org/docs/14/monitoring-stats.html#MONITORING-PG-STAT-REPLICATION-SLOTS-VIEW)
view.
There are several new parameters in PostgreSQL 14 to help manage connections.
parameter that lets PostgreSQL cancel long running queries if a client
disconnects.
-The [`REINDEX`](https://www.postgresql.org/docs/14/sql-reindex.html) command in
-can now process all of the child indexes of a partitioned table, and PostgreSQL
-14 adds the [`pg_amcheck`](https://www.postgresql.org/docs/14/app-pgamcheck.html)
+The [`REINDEX`](https://www.postgresql.org/docs/14/sql-reindex.html) command can
+now process all of the child indexes of a partitioned table, and PostgreSQL 14
+adds the [`pg_amcheck`](https://www.postgresql.org/docs/14/app-pgamcheck.html)
utility to help check for data corruption.
### Replication & Recovery