public inbox for [email protected]
help / color / mirror / Atom feedFrom: Daniel Gustafsson <[email protected]>
To: David Rowley <[email protected]>
Cc: [email protected]
Cc: Magnus Hagander <[email protected]>
Subject: Re: Typos in the featurematrix
Date: Tue, 21 Oct 2025 14:09:19 +0200
Message-ID: <[email protected]> (raw)
In-Reply-To: <[email protected]>
References: <[email protected]>
<CAApHDvpOXAOPEhXRnWimyWmuRf+gN=yx22AoP_WM3aZ0M=n6Vw@mail.gmail.com>
<[email protected]>
> On 15 Oct 2025, at 15:22, Daniel Gustafsson <[email protected]> wrote:
>
>> On 15 Oct 2025, at 13:00, David Rowley <[email protected]> wrote:
>>
>> On Tue, 14 Oct 2025 at 20:46, Daniel Gustafsson <[email protected]> wrote:
>>> While working on something else I noticed that the featurematrix has a few
>>> typos, unless there are objections I'll go ahead with the attached.
>>
>> Patch looks good.
>>
>> I had a read and found a few more:
>
> Thanks, I have incorporated all of these in the v2 attached.
>
> When doing that I noticed that the capitilization of PL/pgSQL and other PL's
> was quite varied. 0002 in the attached corrects that to ensure consistency
> across the items in the featurematrix with corresponding names in the docs.
The featurematrix was a rabbithole that went deep, looking closer I realized
that links were using a variety of target versions: /current/, /devel/, or the
version which was current at the time of adding. This means that for old
features we we still linking to the 9.x version of the docs, which clearly
isn't helpful to our users. We also had quite a few /static/ links which 301
redirects since we don't have that level anymore.
On top of that, a few links in the descriptions were not markdown encoded and
thus rendered as plain text.
The attached v3 fixes these in 0003 and 0004.
--
Daniel Gustafsson
Attachments:
[application/octet-stream] v3-0001-Fix-typos-in-feature-matrix.patch (6.9K, 2-v3-0001-Fix-typos-in-feature-matrix.patch)
download | inline diff:
From df3e20a9937afdea5dc6c7009cea73a45d60d9bb Mon Sep 17 00:00:00 2001
From: Daniel Gustafsson <[email protected]>
Date: Tue, 14 Oct 2025 09:40:24 +0200
Subject: [PATCH v3 1/4] Fix typos in feature matrix
Author: Daniel Gustafsson <[email protected]>
Reviewed-by: David Rowley <[email protected]>
Discussion: https://postgr.es/m/[email protected]
---
data/featurematrix.yaml | 32 ++++++++++++++++----------------
1 file changed, 16 insertions(+), 16 deletions(-)
diff --git a/data/featurematrix.yaml b/data/featurematrix.yaml
index 3e471943..2a069b37 100644
--- a/data/featurematrix.yaml
+++ b/data/featurematrix.yaml
@@ -21,7 +21,7 @@ featurematrix:
versions:
'8.4': 'Yes'
description: replaces the shared memory fixed size free space map with an on-disk
- implemenation
+ implementation
- name: Dynamic Background Workers
versions:
'9.4': 'Yes'
@@ -347,7 +347,7 @@ featurematrix:
'15': 'Yes'
description: "- `regexp_count`: counts the number of places that match the regular\
\ expression in a string\r\n- `regexp_instr `: returns the starting of the Nth\
- \ match of a regular expression in a sting\r\n- `regexp_like`: returns true\
+ \ match of a regular expression in a string\r\n- `regexp_like`: returns true\
\ if a regular expression has a match in a string.\r\n\r\n[https://www.postgresql.org/docs/15/functions-matching.html#FUNCTIONS-POSIX-REGEXP](https://www.postgresql.org/docs/15/functions-matching.html#FUNCTIONS-POSIX-REGEXP)"
- name: Return OLD and NEW values from modified rows
versions:
@@ -415,7 +415,7 @@ featurematrix:
versions:
'9.1': 'Yes'
description: Allows INSERT/UPDATE/DELETE in WITH clauses which can be used in
- conjunction with a RETURNING clause to to pass data up to the containing query.
+ conjunction with a RETURNING clause to pass data up to the containing query.
Data Definition Language (DDL):
- name: ALTER object IF EXISTS
versions:
@@ -506,7 +506,7 @@ featurematrix:
- name: Automatic plan invalidation
versions:
'8.3': 'Yes'
- description: automatic invalidation of cached exceutions plans
+ description: automatic invalidation of cached executions plans
- name: Background Checkpointer
versions:
'9.2': 'Yes'
@@ -537,8 +537,8 @@ featurematrix:
- name: CREATE STATISTICS - "OR" and "IN/ANY" statistics
versions:
'13': 'Yes'
- description: Extend statistics can help the query planner provided better plans
- for queries that have "OR".clauses as well as "IN/ANY" lookups over lists. For
+ description: Extended statistics can help the query planner generate better plans
+ for queries that have "OR" clauses as well as "IN/ANY" lookups over lists. For
more information, please see https://www.postgresql.org/docs/13/planner-stats.html#PLANNER-STATS-EXTENDED
- name: Cross datatype hashing support
versions:
@@ -657,7 +657,7 @@ featurematrix:
- name: Parallel FULL and RIGHT joins
versions:
'16': 'Yes'
- description: Ability to execute in parallell `FULL` and `RIGHT OUTER` joins.
+ description: Ability to execute in parallel `FULL` and `RIGHT OUTER` joins.
- name: Parallel full table scans (sequential scans)
versions:
'9.6': 'Yes'
@@ -755,7 +755,7 @@ featurematrix:
versions:
'9.3': 'Yes'
description: New operators and functions to extract values from JSON data strings,
- JSON data strings can now to be converted into records and new functions to
+ JSON data strings can now to be converted into records and new functions
convert values, records, and hstore data to JSON.
- name: JSONB data type
versions:
@@ -884,7 +884,7 @@ featurematrix:
'9.4': 'Yes'
description: Auto-updatable views can now specify whether an INSERT or UPDATE
would change the state of the row so that it would no longer be visible in the
- view. Using WITH CHECK OPTION will prevent any such changes from occuring.
+ view. Using WITH CHECK OPTION will prevent any such changes from occurring.
Replication:
- name: ALTER SUBSCRIPTION ... SKIP
versions:
@@ -973,7 +973,7 @@ featurematrix:
- name: Logical replication write conflict logging
versions:
'18': 'Yes'
- description: "Write conflicts that occur during ogical replication are\
+ description: "Write conflicts that occur during logical replication are\
\ reported both in logs and in the\
\ [`pg_stat_subscription_stats`](https://www.postgresql.org/docs/18/monitoring-stats.html#MONITORING-PG-STAT-SUBSCRIPTION-STATS)\
\ view."
@@ -992,7 +992,7 @@ featurematrix:
versions:
'9.3': 'Yes'
description: Cascading replication previously required that an xlog archive be
- available in order for a standbys of the new primary to correctly switch to
+ available in order for standbys of the new primary to correctly switch to
the new timeline. This change removes this dependency.
- name: Streaming Replication
versions:
@@ -1043,7 +1043,7 @@ featurematrix:
- name: Multiple synchronous standbys
versions:
'9.6': 'Yes'
- description: Ability to require synch messages from multiple prioritized standbys
+ description: Ability to require sync messages from multiple prioritized standbys
when committing a synchronous transaction.
- name: Named restore points
versions:
@@ -1265,7 +1265,7 @@ featurematrix:
- name: Native RADIUS authentication
versions:
'9.0': 'Yes'
- description: adds support for authentictaing against a RADIUS server
+ description: adds support for authenticating against a RADIUS server
- name: OAuth Authentication / Authorization
versions:
'18': 'Yes'
@@ -1288,7 +1288,7 @@ featurematrix:
- name: ROLES
versions:
'8.1': 'Yes'
- description: replaces user and group concept by a more generalizes role based
+ description: replaces user and group concept with a more generalized role based
concept
- name: Row-Level Security
versions:
@@ -1849,7 +1849,7 @@ featurematrix:
versions:
'8.1': 'Yes'
url: https://www.postgresql.org/docs/current/static/dblink.html
- - name: dblink asyncronous notification support
+ - name: dblink asynchronous notification support
versions:
'9.0': 'Yes'
description: Add the ability to retrieve asynchronous notifications using dblink
@@ -2092,7 +2092,7 @@ legacymap: # This maps old id based URLs to the new titles and will generate re
168: GRANT/REVOKE ON ALL TABLES/SEQUENCES/FUNCTIONS
170: Per user/database server configuration settings
171: Unicode object support in PL/python
- 175: dblink asyncronous notification support
+ 175: dblink asynchronous notification support
176: Spinlock support for the SuperH hardware platform
178: WHEN clause for CREATE TRIGGER
179: Exclusion constraints
--
2.39.3 (Apple Git-146)
[application/octet-stream] v3-0002-Standardize-capitalization-of-procedural-language.patch (8.3K, 3-v3-0002-Standardize-capitalization-of-procedural-language.patch)
download | inline diff:
From 42dd5063c7345e8878635d9d9820fc4780c96f9d Mon Sep 17 00:00:00 2001
From: Daniel Gustafsson <[email protected]>
Date: Wed, 15 Oct 2025 15:16:31 +0200
Subject: [PATCH v3 2/4] Standardize capitalization of procedural languages in
featurematrix
Constistently use PL/pgSQL, PL/Python and PL/Perl throughout the
featurematrix.
Author: Daniel Gustafsson <[email protected]>
Discussion: https://postgr.es/m/[email protected]
---
data/featurematrix.yaml | 66 ++++++++++++++++++++---------------------
1 file changed, 33 insertions(+), 33 deletions(-)
diff --git a/data/featurematrix.yaml b/data/featurematrix.yaml
index 2a069b37..e0a20466 100644
--- a/data/featurematrix.yaml
+++ b/data/featurematrix.yaml
@@ -1563,7 +1563,7 @@ featurematrix:
description: adds support for a boolean expression to be checked if a trigger
should be fired or not
Procedural Languages:
- - name: CASE in pl/pgsql
+ - name: CASE in PL/pgSQL
versions:
'8.4': 'Yes'
description: allows the use of CASE as a conditional expression in addition to
@@ -1576,51 +1576,51 @@ featurematrix:
versions:
'9.5': 'Yes'
url: https://www.postgresql.org/docs/9.5/static/sql-createtransform.html
- - name: DO statement for pl/perl
+ - name: DO statement for PL/Perl
versions:
'9.0': 'Yes'
- description: allows the execution of anonymous code blocks in pl/perl
- - name: DO statement for pl/pgsql
+ description: allows the execution of anonymous code blocks in PL/Perl
+ - name: DO statement for PL/pgSQL
versions:
'9.0': 'Yes'
- description: allows the execution of anonymous code blocks in pl/pgsql
+ description: allows the execution of anonymous code blocks in PL/pgSQL
- name: EXCEPTION support in PL/pgSQL
versions:
'8.1': 'Yes'
- description: full exception handling support in pl/pgsql
+ description: full exception handling support in PL/pgSQL
- name: EXECUTE USING in PL/pgSQL
versions:
'8.4': 'Yes'
description: ''
- - name: FOREACH IN ARRAY in pl/pgsql
+ - name: FOREACH IN ARRAY in PL/pgSQL
versions:
'9.1': 'Yes'
description: This is more efficient and readable than previous methods of iterating
through the elements of an array value.
- - name: IN/OUT/INOUT parameters for pl/pgsql and PL/SQL
+ - name: IN/OUT/INOUT parameters for PL/pgSQL and PL/SQL
versions:
'8.1': 'Yes'
description: ''
- name: Named parameters
versions:
'8.1': 'Yes'
- description: allows the use of named parameters in pl/pgsql
+ description: allows the use of named parameters in PL/pgSQL
- name: Non-superuser language creation
versions:
'8.3': 'Yes'
description: database owners can now create trusted languages
- - name: pl/pgsql installed by default
+ - name: PL/pgSQL installed by default
versions:
'9.0': 'Yes'
- description: pl/pgsql is now installed by default in all newly created database
+ description: PL/pgSQL is now installed by default in all newly created database
- name: Polymorphic functions
versions:
'8.1': 'Yes'
description: ''
- - name: Python 3 support for pl/python
+ - name: Python 3 support for PL/Python
versions:
'9.0': 'Yes'
- description: support for Python 3 in pl/python
+ description: support for Python 3 in PL/Python
- name: 'Qualified function parameters '
versions:
'8.3': 'Yes'
@@ -1630,25 +1630,25 @@ featurematrix:
'14': 'Yes'
description: The `RETURN QUERY` directive in PL/pgSQL supports executing queries
with parallelism.
- - name: RETURN QUERY in pl/pgsql
+ - name: RETURN QUERY in PL/pgSQL
versions:
'8.3': 'Yes'
- description: simply way to return the result of an arbitrary query in pl/pgsql
+ description: simple way to return the result of an arbitrary query in PL/pgSQL
- name: ROWS and COST specification for functions
versions:
'8.3': 'Yes'
description: CPU costs and the number of expected rows can now be specified for
procedural functions to give better hints to the planner
- - name: Scrollable and updatable cursor support for pl/pgsql
+ - name: Scrollable and updatable cursor support for PL/pgSQL
versions:
'8.3': 'Yes'
- description: support for scroll- and updatable cursors in pl/pgsql functions
- - name: SQLERRM/SQLSTATE for pl/pgsql
+ description: support for scroll- and updatable cursors in PL/pgSQL functions
+ - name: SQLERRM/SQLSTATE for PL/pgSQL
versions:
'8.1': 'Yes'
description: allows simple access to the SQL error state and the associated error
text if an exception happened
- - name: Unicode object support in PL/python
+ - name: Unicode object support in PL/Python
versions:
'9.0': 'Yes'
description: ''
@@ -1656,10 +1656,10 @@ featurematrix:
versions:
'8.4': 'Yes'
description: allows to generate user defined exceptions through RAISE
- - name: Validator function for pl/perl
+ - name: Validator function for PL/Perl
versions:
'8.1': 'Yes'
- description: compile time validation of pl/pgsql code
+ description: compile time validation of PL/pgSQL code
Extensions:
- name: CREATE EXTENSION .. CASCADE
versions:
@@ -2016,9 +2016,9 @@ legacymap: # This maps old id based URLs to the new titles and will generate re
4: Heap Only Tuples (HOT)
8: Asynchronous Commit
11: Distributed checkpointing
- 13: Scrollable and updatable cursor support for pl/pgsql
+ 13: Scrollable and updatable cursor support for PL/pgSQL
14: ROWS and COST specification for functions
- 15: SQLERRM/SQLSTATE for pl/pgsql
+ 15: SQLERRM/SQLSTATE for PL/pgSQL
19: EUC_JIS_2004/ SHIFT_JIS_2004 support
20: Per function GUC settings
24: Partial sort capability (top-n sorting)
@@ -2044,10 +2044,10 @@ legacymap: # This maps old id based URLs to the new titles and will generate re
67: IPv6 Support
68: Inlining of SQL-functions
73: Statement level triggers
- 78: RETURN QUERY in pl/pgsql
+ 78: RETURN QUERY in PL/pgSQL
79: 'Qualified function parameters '
- 80: IN/OUT/INOUT parameters for pl/pgsql and PL/SQL
- 82: Validator function for pl/perl
+ 80: IN/OUT/INOUT parameters for PL/pgSQL and PL/SQL
+ 82: Validator function for PL/Perl
83: Named parameters
84: EXCEPTION support in PL/pgSQL
85: Polymorphic functions
@@ -2064,7 +2064,7 @@ legacymap: # This maps old id based URLs to the new titles and will generate re
127: tsearch2 compatibility wrapper
128: Statement level TRUNCATE triggers
129: EXECUTE USING in PL/pgSQL
- 130: CASE in pl/pgsql
+ 130: CASE in PL/pgSQL
133: Database level Collation
135: Hashing support for DISTINCT/UNION/INTERSECT/EXCEPT
136: RETURNS TABLE
@@ -2088,10 +2088,10 @@ legacymap: # This maps old id based URLs to the new titles and will generate re
163: Deferrable unique constraints
165: XML, JSON and YAML output for EXPLAIN
166: Default permissions
- 167: DO statement for pl/pgsql
+ 167: DO statement for PL/pgSQL
168: GRANT/REVOKE ON ALL TABLES/SEQUENCES/FUNCTIONS
170: Per user/database server configuration settings
- 171: Unicode object support in PL/python
+ 171: Unicode object support in PL/Python
175: dblink asynchronous notification support
176: Spinlock support for the SuperH hardware platform
178: WHEN clause for CREATE TRIGGER
@@ -2100,9 +2100,9 @@ legacymap: # This maps old id based URLs to the new titles and will generate re
181: EXPLAIN (BUFFERS) support
183: Large object access controls
184: Search+bind mode operation for LDAP authentication
- 185: pl/pgsql installed by default
- 186: DO statement for pl/perl
- 187: Python 3 support for pl/python
+ 185: PL/pgSQL installed by default
+ 186: DO statement for PL/Perl
+ 187: Python 3 support for PL/Python
188: Hot Standby
189: Typed tables
190: Payload support for LISTEN/NOTIFY
@@ -2125,7 +2125,7 @@ legacymap: # This maps old id based URLs to the new titles and will generate re
213: ALTER TABLE ... ADD UNIQUE/PRIMARY KEY USING INDEX
214: Foreign keys marked as NOT VALID
215: Triggers on views
- 216: FOREACH IN ARRAY in pl/pgsql
+ 216: FOREACH IN ARRAY in PL/pgSQL
217: Index-only scans
218: Multi-core scalability for read-only workloads
219: Cascading streaming replication
--
2.39.3 (Apple Git-146)
[application/octet-stream] v3-0003-featurematrix-Update-links-to-use-current-documen.patch (60.1K, 4-v3-0003-featurematrix-Update-links-to-use-current-documen.patch)
download | inline diff:
From 41d0b0058f2a04f62e703b60a4bfc4fe7cc90c9e Mon Sep 17 00:00:00 2001
From: Daniel Gustafsson <[email protected]>
Date: Sat, 18 Oct 2025 20:06:07 +0200
Subject: [PATCH v3 3/4] featurematrix: Update links to use current
documentation
The links from the featurematrix to the docs used a combination of
current, devel, and the specific latest version at the time the new
feature was added. This updates all links to use /current/ to make
sure that we never link to outdated versions of the docs.
While there, remove all /static/ links since we only have the static
docs these days.
Author: Daniel Gustafsson <[email protected]>
Discussion: https://postgr.es/m/[email protected]
---
data/featurematrix.yaml | 364 ++++++++++++++++++++--------------------
1 file changed, 182 insertions(+), 182 deletions(-)
diff --git a/data/featurematrix.yaml b/data/featurematrix.yaml
index e0a20466..a5bbd8be 100644
--- a/data/featurematrix.yaml
+++ b/data/featurematrix.yaml
@@ -11,7 +11,7 @@ featurematrix:
- name: Advisory locks
versions:
'8.2': 'Yes'
- url: https://www.postgresql.org/docs/current/static/explicit-locking.html#ADVISORY-LOCKS
+ url: https://www.postgresql.org/docs/current/explicit-locking.html#ADVISORY-LOCKS
- name: Custom background workers
versions:
'9.3': 'Yes'
@@ -43,17 +43,17 @@ featurematrix:
- name: EXPLAIN (WAL) support
versions:
'13': 'Yes'
- description: "[EXPLAIN](https://www.postgresql.org/docs/13/sql-explain.html) can\
- \ now track WAL usage information along with [auto_explain](https://www.postgresql.org/docs/13/auto-explain.html),\
- \ [autovacuum](https://www.postgresql.org/docs/13/routine-vacuuming.html#AUTOVACUUM),\
- \ and [pg_stat_statements](https://www.postgresql.org/docs/13/pgstatstatements.html).\r\
- \n\r\nFor more information, please see the documentation on [EXPLAIN](https://www.postgresql.org/docs/13/sql-explain.html)."
+ description: "[EXPLAIN](https://www.postgresql.org/docs/current/sql-explain.html) can\
+ \ now track WAL usage information along with [auto_explain](https://www.postgresql.org/docs/current/auto-explain.html),\
+ \ [autovacuum](https://www.postgresql.org/docs/current/routine-vacuuming.html#AUTOVACUUM),\
+ \ and [pg_stat_statements](https://www.postgresql.org/docs/current/pgstatstatements.html).\r\
+ \n\r\nFor more information, please see the documentation on [EXPLAIN](https://www.postgresql.org/docs/current/sql-explain.html)."
- name: '"jsonlog" logging format'
versions:
'15': 'Yes'
- description: PostgreSQL logs can now be output in [JSON](https://www.postgresql.org/docs/15/runtime-config-logging.html#RUNTIME-CONFIG-LOGGING-JSONLOG)
- using the [`jsonlog`](https://www.postgresql.org/docs/15/runtime-config-logging.html#RUNTIME-CONFIG-LOGGING-JSONLOG)
- parameter when setting [`log_destination`](https://www.postgresql.org/docs/15/runtime-config-logging.html#RUNTIME-CONFIG-LOGGING-WHERE).
+ description: PostgreSQL logs can now be output in [JSON](https://www.postgresql.org/docs/current/runtime-config-logging.html#RUNTIME-CONFIG-LOGGING-JSONLOG)
+ using the [`jsonlog`](https://www.postgresql.org/docs/current/runtime-config-logging.html#RUNTIME-CONFIG-LOGGING-JSONLOG)
+ parameter when setting [`log_destination`](https://www.postgresql.org/docs/current/runtime-config-logging.html#RUNTIME-CONFIG-LOGGING-WHERE).
This provides a "structured log" that can be used by other utilities for storage
and analysis.
- name: Loadable plugin infrastructure for monitoring the planner
@@ -69,15 +69,15 @@ featurematrix:
- name: pg_stat_checkpointer system view
versions:
'17': 'Yes'
- url: https://www.postgresql.org/docs/17/monitoring-stats.html#MONITORING-PG-STAT-CHECKPOINTER-VIEW
+ url: https://www.postgresql.org/docs/current/monitoring-stats.html#MONITORING-PG-STAT-CHECKPOINTER-VIEW
- name: pg_stat_io - I/O metrics view
versions:
'16': 'Yes'
- url: https://www.postgresql.org/docs/16/monitoring-stats.html#MONITORING-PG-STAT-IO-VIEW
+ url: https://www.postgresql.org/docs/current/monitoring-stats.html#MONITORING-PG-STAT-IO-VIEW
- name: pg_wait_events system view
versions:
'17': 'Yes'
- url: https://www.postgresql.org/docs/17/view-pg-wait-events.html
+ url: https://www.postgresql.org/docs/current/view-pg-wait-events.html
- name: Server statistics in shared memory
versions:
'15': 'Yes'
@@ -87,7 +87,7 @@ featurematrix:
- name: SQL-standard information schema
versions:
'8.1': 'Yes'
- url: https://www.postgresql.org/docs/current/static/information-schema.html
+ url: https://www.postgresql.org/docs/current/information-schema.html
- name: Support for anonymous shared memory
versions:
'9.3': 'Yes'
@@ -106,23 +106,23 @@ featurematrix:
- name: Array support
versions:
'8.1': 'Yes'
- url: https://www.postgresql.org/docs/current/static/arrays.html
+ url: https://www.postgresql.org/docs/current/arrays.html
- name: ENUM data type
versions:
'8.3': 'Yes'
- url: https://www.postgresql.org/docs/current/static/datatype-enum.html
+ url: https://www.postgresql.org/docs/current/datatype-enum.html
- name: GUID/UUID data type
versions:
'8.3': 'Yes'
- url: https://www.postgresql.org/docs/current/static/datatype-uuid.html
+ url: https://www.postgresql.org/docs/current/datatype-uuid.html
- name: macaddr8 data type
versions:
'10': 'Yes'
- url: https://www.postgresql.org/docs/10/static/datatype-net-types.html#datatype-macaddr8
+ url: https://www.postgresql.org/docs/current/datatype-net-types.html#DATATYPE-MACADDR8
- name: Multiranges
versions:
'14': 'Yes'
- url: https://www.postgresql.org/docs/14/rangetypes.html#RANGETYPES-BUILTIN
+ url: https://www.postgresql.org/docs/current/rangetypes.html#RANGETYPES-BUILTIN
- name: NULLs in Array
versions:
'8.2': 'Yes'
@@ -134,7 +134,7 @@ featurematrix:
- name: Range types
versions:
'9.2': 'Yes'
- url: https://www.postgresql.org/docs/9.2/static/rangetypes.html
+ url: https://www.postgresql.org/docs/current/rangetypes.html
- name: smallserial type
versions:
'9.2': 'Yes'
@@ -147,24 +147,24 @@ featurematrix:
- name: UUIDv7
versions:
'18': 'Yes'
- url: https://www.postgresql.org/docs/18/functions-uuid.html#FUNC_UUID_GEN_TABLE
+ url: https://www.postgresql.org/docs/current/functions-uuid.html#FUNC_UUID_GEN_TABLE
- name: XML data type
versions:
'8.3': 'Yes'
- url: https://www.postgresql.org/docs/current/static/datatype-xml.html
+ url: https://www.postgresql.org/docs/current/datatype-xml.html
Indexing & Constraints:
- name: Block-range (BRIN) indexes
versions:
'9.5': 'Yes'
- url: https://www.postgresql.org/docs/current/static/brin-intro.html
+ url: https://www.postgresql.org/docs/current/brin-intro.html
- name: B-tree bottom-up index deletion
versions:
'14': 'Yes'
- url: https://www.postgresql.org/docs/14/btree-implementation.html#BTREE-DELETION
+ url: https://www.postgresql.org/docs/current/btree.html#BTREE-DELETION
- name: B-tree deduplication
versions:
'13': 'Yes'
- url: https://www.postgresql.org/docs/13/btree-implementation.html#BTREE-DEDUPLICATION
+ url: https://www.postgresql.org/docs/current/btree.html#BTREE-DEDUPLICATION
- name: Concurrent GiST indexes
versions:
'8.1': 'Yes'
@@ -196,7 +196,7 @@ featurematrix:
- name: GIN (Generalized Inverted Index) Indexes
versions:
'8.2': 'Yes'
- url: https://www.postgresql.org/docs/current/static/gin.html
+ url: https://www.postgresql.org/docs/current/gin.html
- name: GIN indexes partial match
versions:
'8.4': 'Yes'
@@ -209,11 +209,11 @@ featurematrix:
- name: GiST (Generalized Search Tree) Indexes
versions:
'8.1': 'Yes'
- url: https://www.postgresql.org/docs/current/static/gist.html
+ url: https://www.postgresql.org/docs/current/gist.html
- name: Indexes on expressions
versions:
'8.1': 'Yes'
- url: https://www.postgresql.org/docs/current/static/indexes-expressional.html
+ url: https://www.postgresql.org/docs/current/indexes-expressional.html
- name: Index-only scans
versions:
'9.2': 'Yes'
@@ -270,7 +270,7 @@ featurematrix:
- name: Space-Partitioned GiST (SP-GiST) Indexes
versions:
'9.2': 'Yes'
- url: https://www.postgresql.org/docs/current/static/spgist.html
+ url: https://www.postgresql.org/docs/current/spgist.html
- name: SP-GiST indexes for range types
versions:
'9.3': 'Yes'
@@ -291,19 +291,19 @@ featurematrix:
- name: ANY_VALUE aggregate
versions:
'16': 'Yes'
- url: https://www.postgresql.org/docs/16/functions-aggregate.html#id-1.5.8.27.5.2.4.1.1.1.1
+ url: https://www.postgresql.org/docs/current/functions-aggregate.html#id-1.5.8.27.6.2.4.1.1.1.1
- name: FETCH FIRST .. WITH TIES
versions:
'13': 'Yes'
- url: https://www.postgresql.org/docs/13/sql-select.html#SQL-LIMIT
+ url: https://www.postgresql.org/docs/current/sql-select.html#SQL-LIMIT
- name: GROUPING SETS, CUBE and ROLLUP support
versions:
'9.5': 'Yes'
- url: https://www.postgresql.org/docs/current/static/queries-table-expressions.html#QUERIES-GROUPING-SETS
+ url: https://www.postgresql.org/docs/current/queries-table-expressions.html#QUERIES-GROUPING-SETS
- name: INSERT/UPDATE/DELETE RETURNING
versions:
'8.2': 'Yes'
- url: https://www.postgresql.org/docs/current/static/sql-insert.html
+ url: https://www.postgresql.org/docs/current/sql-insert.html
- name: LATERAL clause
versions:
'9.3': 'Yes'
@@ -312,7 +312,7 @@ featurematrix:
- name: MERGE
versions:
'15': 'Yes'
- url: https://www.postgresql.org/docs/15/sql-merge.html
+ url: https://www.postgresql.org/docs/current/sql-merge.html
- name: MERGE ... RETURNING
versions:
'17': 'Yes'
@@ -322,7 +322,7 @@ featurematrix:
- name: Multirow VALUES
versions:
'8.2': 'Yes'
- url: https://www.postgresql.org/docs/current/static/sql-values.html
+ url: https://www.postgresql.org/docs/current/sql-values.html
- name: Non-decimal integer literals
versions:
'16': 'Yes'
@@ -331,12 +331,12 @@ featurematrix:
- name: ORDER BY NULLS FIRST/LAST
versions:
'8.3': 'Yes'
- url: https://www.postgresql.org/docs/current/static/sql-select.html
+ url: https://www.postgresql.org/docs/current/sql-select.html
- name: range_agg range type aggregation function
versions:
'14': 'Yes'
description: Range types can be aggregated (e.g. in `GROUP BY` clauses) using
- the [`range_agg`](https://www.postgresql.org/docs/15/functions-aggregate.html)
+ the [`range_agg`](https://www.postgresql.org/docs/current/functions-aggregate.html)
function.
- name: Recursive Queries
versions:
@@ -348,11 +348,11 @@ featurematrix:
description: "- `regexp_count`: counts the number of places that match the regular\
\ expression in a string\r\n- `regexp_instr `: returns the starting of the Nth\
\ match of a regular expression in a string\r\n- `regexp_like`: returns true\
- \ if a regular expression has a match in a string.\r\n\r\n[https://www.postgresql.org/docs/15/functions-matching.html#FUNCTIONS-POSIX-REGEXP](https://www.postgresql.org/docs/15/functions-matching.html#FUNCTIONS-POSIX-REGEXP)"
+ \ if a regular expression has a match in a string.\r\n\r\n[https://www.postgresql.org/docs/current/functions-matching.html#FUNCTIONS-POSIX-REGEXP](https://www.postgresql.org/docs/current/functions-matching.html#FUNCTIONS-POSIX-REGEXP)"
- name: Return OLD and NEW values from modified rows
versions:
'18': 'Yes'
- url: https://www.postgresql.org/docs/18/dml-returning.html
+ url: https://www.postgresql.org/docs/current/dml-returning.html
- name: Row-wise comparison
versions:
'8.2': 'Yes'
@@ -369,7 +369,7 @@ featurematrix:
- name: SYSTEM_USER
versions:
'16': 'Yes'
- url: https://www.postgresql.org/docs/16/functions-info.html#id-1.5.8.32.3.4.2.2.24.1.1.1
+ url: https://www.postgresql.org/docs/current/functions-info.html#id-1.5.8.33.3.4.2.2.26.1.1.1
- name: TABLE statement
versions:
'8.4': 'Yes'
@@ -402,7 +402,7 @@ featurematrix:
- name: WITHIN GROUP clause
versions:
'9.4': 'Yes'
- url: https://www.postgresql.org/docs/current/static/sql-expressions.html#SYNTAX-AGGREGATES
+ url: https://www.postgresql.org/docs/current/sql-expressions.html#SYNTAX-AGGREGATES
- name: WITH ORDINALITY clause
versions:
'9.4': 'Yes'
@@ -430,8 +430,8 @@ featurematrix:
- name: ALTER TABLE ... SET ACCESS METHOD
versions:
'15': 'Yes'
- description: '[`ALTER TABLE`](https://www.postgresql.org/docs/15/sql-altertable.html)
- can specify a different [access method](https://www.postgresql.org/docs/15/tableam.html),
+ description: '[`ALTER TABLE`](https://www.postgresql.org/docs/current/sql-altertable.html)
+ can specify a different [access method](https://www.postgresql.org/docs/current/tableam.html),
also known as a storage interface.'
- name: ALTER TABLE ... SET LOGGED / UNLOGGED
versions:
@@ -444,7 +444,7 @@ featurematrix:
- name: CREATE ACCESS METHOD
versions:
'12': 'Yes'
- url: https://www.postgresql.org/docs/12/sql-create-access-method.html
+ url: https://www.postgresql.org/docs/current/sql-create-access-method.html
- name: CREATE TABLE ... (LIKE) with foreign tables, views and composite types
versions:
'9.2': 'Yes'
@@ -452,11 +452,11 @@ featurematrix:
- name: DROP object IF EXISTS
versions:
'8.2': 'Yes'
- url: https://www.postgresql.org/docs/current/static/sql-commands.html
+ url: https://www.postgresql.org/docs/current/sql-commands.html
- name: ON COMMIT clause for CREATE TEMPORARY TABLE
versions:
'8.1': 'Yes'
- url: https://www.postgresql.org/docs/current/static/sql-createtable.html
+ url: https://www.postgresql.org/docs/current/sql-createtable.html
- name: REINDEX CONCURRENTLY
versions:
'12': 'Yes'
@@ -469,10 +469,10 @@ featurematrix:
versions:
'18': 'Yes'
description: "Temporal constraints are constraints over ranges. These are\
- \ available for both [`PRIMARY KEY`](https://www.postgresql.org/docs/18/sql-createtable.html#SQL-CREATETABLE-PARMS-PRIMARY-KEY)\
- \ and [`UNIQUE`](https://www.postgresql.org/docs/18/sql-createtable.html#SQL-CREATETABLE-PARMS-UNIQUE)\
+ \ available for both [`PRIMARY KEY`](https://www.postgresql.org/docs/current/sql-createtable.html#SQL-CREATETABLE-PARMS-PRIMARY-KEY)\
+ \ and [`UNIQUE`](https://www.postgresql.org/docs/current/sql-createtable.html#SQL-CREATETABLE-PARMS-UNIQUE)\
\ constraints using the `WITHOUT OVERLAPS` clause, and\
- \ [`FOREIGN KEY`](https://www.postgresql.org/docs/18/sql-createtable.html#SQL-CREATETABLE-PARMS-REFERENCES)\
+ \ [`FOREIGN KEY`](https://www.postgresql.org/docs/current/sql-createtable.html#SQL-CREATETABLE-PARMS-REFERENCES)\
\ constraints using the `PERIOD` clause."
- name: Typed tables
versions:
@@ -502,7 +502,7 @@ featurematrix:
\ concurrently instead of waiting for each to finish in sequence. This\
\ expands existing readahead and improves overall throughput. AIO\
\ supported in PostgreSQL 18 include sequential scans, bitmap heap scans,\
- \ and vacuum. For more information see [`io_method`](https://www.postgresql.org/docs/18/runtime-config-resource.html#GUC-IO-METHOD)."
+ \ and vacuum. For more information see [`io_method`](https://www.postgresql.org/docs/current/runtime-config-resource.html#GUC-IO-METHOD)."
- name: Automatic plan invalidation
versions:
'8.3': 'Yes'
@@ -517,7 +517,7 @@ featurematrix:
- name: Background Writer
versions:
'8.1': 'Yes'
- url: https://www.postgresql.org/docs/current/static/runtime-config-resource.html
+ url: https://www.postgresql.org/docs/current/runtime-config-resource.html
- name: Base backup throttling
versions:
'9.4': 'Yes'
@@ -539,7 +539,7 @@ featurematrix:
'13': 'Yes'
description: Extended statistics can help the query planner generate better plans
for queries that have "OR" clauses as well as "IN/ANY" lookups over lists. For
- more information, please see https://www.postgresql.org/docs/13/planner-stats.html#PLANNER-STATS-EXTENDED
+ more information, please see https://www.postgresql.org/docs/current/planner-stats.html#PLANNER-STATS-EXTENDED
- name: Cross datatype hashing support
versions:
'8.3': 'Yes'
@@ -563,14 +563,14 @@ featurematrix:
- name: Full Text Search
versions:
'8.3': 'Yes'
- url: https://www.postgresql.org/docs/current/static/textsearch.html
+ url: https://www.postgresql.org/docs/current/textsearch.html
- name: Hash aggregation can use disk
versions:
'13': 'Yes'
description: "The query planner can now consider using hash aggregation if it\
\ expects the aggregate to exceed working memory.\r\n\r\nThis can be controlled\
- \ by two configuration parameters:\r\n\r\n- [enable_hashagg](https://www.postgresql.org/docs/13/runtime-config-query.html#GUC-ENABLE-HASHAGG)\r\
- \n- [hash_mem_multiplier](https://www.postgresql.org/docs/13/runtime-config-resource.html#GUC-HASH-MEM-MULTIPLIER)"
+ \ by two configuration parameters:\r\n\r\n- [enable_hashagg](https://www.postgresql.org/docs/current/runtime-config-query.html#GUC-ENABLE-HASHAGG)\r\
+ \n- [hash_mem_multiplier](https://www.postgresql.org/docs/current/runtime-config-resource.html#GUC-HASH-MEM-MULTIPLIER)"
- name: Hashing support for DISTINCT/UNION/INTERSECT/EXCEPT
versions:
'8.4': 'Yes'
@@ -598,15 +598,15 @@ featurematrix:
- name: Incremental sort
versions:
'13': 'Yes'
- url: https://www.postgresql.org/docs/13/runtime-config-query.html#GUC-ENABLE-INCREMENTAL-SORT
+ url: https://www.postgresql.org/docs/current/runtime-config-query.html#GUC-ENABLE-INCREMENTAL-SORT
- name: Incremental sort for SELECT DISTINCT
versions:
'16': 'Yes'
- description: Queries with `SELECT DISTINCT` can use [incremental sort](https://www.postgresql.org/docs/16/runtime-config-query.html#GUC-ENABLE-INCREMENTAL-SORT).
+ description: Queries with `SELECT DISTINCT` can use [incremental sort](https://www.postgresql.org/docs/current/runtime-config-query.html#GUC-ENABLE-INCREMENTAL-SORT).
- name: Incremental sort for window functions
versions:
'14': 'Yes'
- description: '[Window functions](https://www.postgresql.org/docs/14/functions-window.html)
+ description: '[Window functions](https://www.postgresql.org/docs/current/functions-window.html)
can use incremental sorting'
- name: Inlined WITH Queries (Common Table Expressions)
versions:
@@ -616,7 +616,7 @@ featurematrix:
\ improvements. This behavior can be forced on a query by using the \"NOT MATERIALIZED\"\
\ clause, e.g.\r\n\r\n```\r\nWITH cte AS NOT MATERIALIZED (\r\n SELECT *\
\ FROM a\r\n)\r\nSELECT * FROM cte\r\nJOIN b ON b.id = cte.id;\r\n```\r\n\r\n\
- For more information, please visit [https://www.postgresql.org/docs/12/queries-with.html](https://www.postgresql.org/docs/12/queries-with.html)"
+ For more information, please visit [https://www.postgresql.org/docs/current/queries-with.html](https://www.postgresql.org/docs/current/queries-with.html)"
- name: Inlining of SQL-functions
versions:
'8.1': 'Yes'
@@ -624,15 +624,15 @@ featurematrix:
- name: Just-in-Time (JIT) compilation for expression evaluation and tuple deforming
versions:
'11': 'Yes'
- url: https://www.postgresql.org/docs/current/static/jit.html
+ url: https://www.postgresql.org/docs/current/jit.html
- name: Load balancing for libpq / psql
versions:
'16': 'Yes'
- url: https://www.postgresql.org/docs/16/libpq-connect.html#LIBPQ-CONNECT-LOAD-BALANCE-HOSTS
+ url: https://www.postgresql.org/docs/current/libpq-connect.html#LIBPQ-CONNECT-LOAD-BALANCE-HOSTS
- name: LZ4 compression for TOAST tables
versions:
'14': 'Yes'
- description: The compression method for [TOAST](https://www.postgresql.org/docs/14/storage-toast.html)
+ description: The compression method for [TOAST](https://www.postgresql.org/docs/current/storage-toast.html)
tables is now selectable and adds support for lz4 compression.
- name: Multi-core scalability for read-only workloads
versions:
@@ -691,7 +691,7 @@ featurematrix:
- name: Query pipelining
versions:
'14': 'Yes'
- url: https://www.postgresql.org/docs/14/libpq-pipeline-mode.html
+ url: https://www.postgresql.org/docs/current/libpq-pipeline-mode.html
- name: Reduced lock levels for ALTER TABLE commands
versions:
'9.4': 'Yes'
@@ -739,7 +739,7 @@ featurematrix:
- name: Tablespaces
versions:
'8.1': 'Yes'
- url: https://www.postgresql.org/docs/current/static/sql-createtablespace.html
+ url: https://www.postgresql.org/docs/current/sql-createtablespace.html
- name: Unlogged tables
versions:
'9.1': 'Yes'
@@ -760,7 +760,7 @@ featurematrix:
- name: JSONB data type
versions:
'9.4': 'Yes'
- url: https://www.postgresql.org/docs/current/static/datatype-json.html
+ url: https://www.postgresql.org/docs/current/datatype-json.html
- name: JSONB-modifying operators and functions
versions:
'9.5': 'Yes'
@@ -769,11 +769,11 @@ featurematrix:
- name: JSONB Subscripting
versions:
'14': 'Yes'
- url: https://www.postgresql.org/docs/14/datatype-json.html#JSONB-SUBSCRIPTING
+ url: https://www.postgresql.org/docs/current/datatype-json.html#JSONB-SUBSCRIPTING
- name: JSON data type
versions:
'9.2': 'Yes'
- url: https://www.postgresql.org/docs/current/static/datatype-json.html
+ url: https://www.postgresql.org/docs/current/datatype-json.html
- name: SQL/JSON constructors
versions:
'16': 'Yes'
@@ -784,7 +784,7 @@ featurematrix:
'13': 'Yes'
description: "The SQL/JSON path `datetime()` function in JSON path expressions\
\ converts valid date and time formats (e.g. ISO 8601) to their corresponding\
- \ PostgreSQL type.\r\n\r\nFor more information, see the [JSON path documentation](https://www.postgresql.org/docs/13/functions-json.html#FUNCTIONS-SQLJSON-OP-TABLE)"
+ \ PostgreSQL type.\r\n\r\nFor more information, see the [JSON path documentation](https://www.postgresql.org/docs/current/functions-json.html#FUNCTIONS-SQLJSON-OP-TABLE)"
- name: SQL/JSON IS JSON
versions:
'16': 'Yes'
@@ -796,7 +796,7 @@ featurematrix:
- name: SQL/JSON JSON_TABLE
versions:
'17': 'Yes'
- url: https://www.postgresql.org/docs/17/functions-json.html#FUNCTIONS-SQLJSON-TABLE
+ url: https://www.postgresql.org/docs/current/functions-json.html#FUNCTIONS-SQLJSON-TABLE
- name: SQL/JSON path expressions
versions:
'12': 'Yes'
@@ -804,7 +804,7 @@ featurematrix:
- name: SQL/JSON query functions
versions:
'17': 'Yes'
- url: https://www.postgresql.org/docs/17/functions-json.html#FUNCTIONS-SQLJSON-QUERYING
+ url: https://www.postgresql.org/docs/current/functions-json.html#FUNCTIONS-SQLJSON-QUERYING
Partitioning & Inheritance:
- name: Accelerated partition pruning
versions:
@@ -814,7 +814,7 @@ featurematrix:
- name: Declarative table partitioning
versions:
'10': 'Yes'
- url: https://www.postgresql.org/docs/10/static/ddl-partitioning.html#ddl-partitioning-declarative
+ url: https://www.postgresql.org/docs/current/ddl-partitioning.html#DDL-PARTITIONING-DECLARATIVE
- name: Default Partition
versions:
'11': 'Yes'
@@ -848,7 +848,7 @@ featurematrix:
- name: Table Partitioning
versions:
'8.1': 'Yes'
- url: https://www.postgresql.org/docs/current/static/ddl-partitioning.html
+ url: https://www.postgresql.org/docs/current/ddl-partitioning.html
- name: UPDATE on a partition key
versions:
'11': 'Yes'
@@ -858,7 +858,7 @@ featurematrix:
- name: Materialized Views
versions:
'9.3': 'Yes'
- url: https://www.postgresql.org/docs/current/static/rules-materializedviews.html
+ url: https://www.postgresql.org/docs/current/rules-materializedviews.html
- name: Materialized views with concurrent refresh
versions:
'9.4': 'Yes'
@@ -867,7 +867,7 @@ featurematrix:
- name: SECURITY INVOKER views
versions:
'15': 'Yes'
- description: '[Views](https://www.postgresql.org/docs/15/sql-createview.html)
+ description: '[Views](https://www.postgresql.org/docs/current/sql-createview.html)
can be created using the `SECURITY INVOKER` parameter, which executes the view
with the privileges of the caller instead of the privileges of the owner.'
- name: Temporary VIEWs
@@ -890,7 +890,7 @@ featurematrix:
versions:
'15': 'Yes'
description: '[`ALTER SUBSCRIPTION ... SKIP`] allows a subscriber to skip replaying
- a transaction. For more information, please read the section on handling [conflicts](https://www.postgresql.org/docs/15/logical-replication-conflicts.html)
+ a transaction. For more information, please read the section on handling [conflicts](https://www.postgresql.org/docs/current/logical-replication-conflicts.html)
with logical replication.'
- name: Cascading streaming replication
versions:
@@ -900,23 +900,23 @@ featurematrix:
- name: Configure max WAL retention for replication slots
versions:
'13': 'Yes'
- url: https://www.postgresql.org/docs/13/runtime-config-replication.html#GUC-MAX-SLOT-WAL-KEEP-SIZE
+ url: https://www.postgresql.org/docs/current/runtime-config-replication.html#GUC-MAX-SLOT-WAL-KEEP-SIZE
- name: Failover support for logical replication slots
versions:
'17': 'Yes'
- url: https://www.postgresql.org/docs/17/logical-replication-failover.html
+ url: https://www.postgresql.org/docs/current/logical-replication-failover.html
- name: Logical replication
versions:
'10': 'Yes'
- url: https://www.postgresql.org/docs/current/static/logical-replication.html
+ url: https://www.postgresql.org/docs/current/logical-replication.html
- name: Logical replication avoids replication loops
versions:
'16': 'Yes'
- url: https://www.postgresql.org/docs/16/sql-createsubscription.html#SQL-CREATESUBSCRIPTION-WITH-ORIGIN
+ url: https://www.postgresql.org/docs/current/sql-createsubscription.html#SQL-CREATESUBSCRIPTION-PARAMS-WITH-ORIGIN
- name: Logical replication column lists
versions:
'15': 'Yes'
- description: '[Publications](https://www.postgresql.org/docs/15/logical-replication-publication.html)
+ description: '[Publications](https://www.postgresql.org/docs/current/logical-replication-publication.html)
for logical replication can now specify which columns to publish. Previously,
a publication would publish all columns in a table.'
- name: Logical replication for partitioned tables
@@ -934,7 +934,7 @@ featurematrix:
- name: Logical replication initial sync using binary protocol
versions:
'16': 'Yes'
- url: https://www.postgresql.org/docs/16/sql-createsubscription.html#SQL-CREATESUBSCRIPTION-WITH-BINARY
+ url: https://www.postgresql.org/docs/current/sql-createsubscription.html#SQL-CREATESUBSCRIPTION-PARAMS-WITH-BINARY
- name: Logical replication lookups with additional indexes
versions:
'16': 'Yes'
@@ -943,17 +943,17 @@ featurematrix:
- name: Logical replication parallel apply of transactions
versions:
'16': 'Yes'
- url: https://www.postgresql.org/docs/16/sql-createsubscription.html#SQL-CREATESUBSCRIPTION-WITH-STREAMING
+ url: https://www.postgresql.org/docs/current/sql-createsubscription.html#SQL-CREATESUBSCRIPTION-PARAMS-WITH-STREAMING
- name: Logical replication publish all tables in schema
versions:
'15': 'Yes'
description: When creating a logical replication publication, a user can specify
to publish all the tables within a schema , e.g. [`CREATE PUBLICATION ... FOR
- TABLES IN SCHEMA ...`](https://www.postgresql.org/docs/15/sql-createpublication.html).
+ TABLES IN SCHEMA ...`](https://www.postgresql.org/docs/current/sql-createpublication.html).
- name: Logical replication row filtering
versions:
'15': 'Yes'
- url: https://www.postgresql.org/docs/15/logical-replication-row-filter.html
+ url: https://www.postgresql.org/docs/current/logical-replication-row-filter.html
- name: Logical replication slots migrate through pg_upgrade migrate
versions:
'17': 'Yes'
@@ -968,14 +968,14 @@ featurematrix:
versions:
'15': 'Yes'
description: Logical replication subscribers can be automatically disabled using
- the [`disable_on_error`](https://www.postgresql.org/docs/15/logical-replication-conflicts.html)
+ the [`disable_on_error`](https://www.postgresql.org/docs/current/logical-replication-conflicts.html)
setting.
- name: Logical replication write conflict logging
versions:
'18': 'Yes'
description: "Write conflicts that occur during logical replication are\
\ reported both in logs and in the\
- \ [`pg_stat_subscription_stats`](https://www.postgresql.org/docs/18/monitoring-stats.html#MONITORING-PG-STAT-SUBSCRIPTION-STATS)\
+ \ [`pg_stat_subscription_stats`](https://www.postgresql.org/docs/current/monitoring-stats.html#MONITORING-PG-STAT-SUBSCRIPTION-STATS)\
\ view."
- name: Quorum commit for synchronous replication
versions:
@@ -987,7 +987,7 @@ featurematrix:
- name: Replication Slots
versions:
'9.4': 'Yes'
- url: https://www.postgresql.org/docs/9.4/static/warm-standby.html#STREAMING-REPLICATION-SLOTS
+ url: https://www.postgresql.org/docs/current/warm-standby.html#STREAMING-REPLICATION-SLOTS
- name: Streaming-only cascading replication
versions:
'9.3': 'Yes'
@@ -1010,7 +1010,7 @@ featurematrix:
- name: Archive modules
versions:
'15': 'Yes'
- url: https://www.postgresql.org/docs/15/archive-modules.html
+ url: https://www.postgresql.org/docs/current/archive-modules.html
- name: Checksum on data pages
versions:
'9.3': 'Yes'
@@ -1020,7 +1020,7 @@ featurematrix:
versions:
'12': 'Yes'
description: "Page checksums can be enabled or disabled in an offline PostgreSQL\
- \ cluster via the pg_checksums command:\r\n\r\nhttps://www.postgresql.org/docs/12/app-pgchecksums.html"
+ \ cluster via the pg_checksums command:\r\n\r\nhttps://www.postgresql.org/docs/current/app-pgchecksums.html"
- name: Generic WAL facility
versions:
'9.6': 'Yes'
@@ -1033,7 +1033,7 @@ featurematrix:
- name: lz4 and Zstandard (zstd) compression for WAL full page writes
versions:
'15': 'Yes'
- url: https://www.postgresql.org/docs/15/runtime-config-wal.html#GUC-WAL-COMPRESSION
+ url: https://www.postgresql.org/docs/current/runtime-config-wal.html#GUC-WAL-COMPRESSION
- name: min_wal_size / max_wal_size
versions:
'9.5': 'Yes'
@@ -1060,14 +1060,14 @@ featurematrix:
- name: pg_basebackup client decompression
versions:
'15': 'Yes'
- description: '[`pg_basebackup`](https://www.postgresql.org/docs/15/app-pgbasebackup.html)
+ description: '[`pg_basebackup`](https://www.postgresql.org/docs/current/app-pgbasebackup.html)
can now decompress backups using `lz4` and `zstd` (Zstandard) compression.'
- name: pg_basebackup incremental backup
versions:
'17': 'Yes'
description: Incremental backups can be created using the `--incremental` option
for [`pg_basebackup`](https://www.postgresql.org/docs/current/app-pgbasebackup.html).
- The new application [pg_combinebackup](https://www.postgresql.org/docs/17/app-pgcombinebackup.html)
+ The new application [pg_combinebackup](https://www.postgresql.org/docs/current/app-pgcombinebackup.html)
allows manipulation of base and incremental file system backups.
- name: pg_basebackup server-side compression
versions:
@@ -1089,15 +1089,15 @@ featurematrix:
- name: pg_receivewal (formerly pg_receivexlog)
versions:
'9.2': 'Yes'
- url: https://www.postgresql.org/docs/current/static/app-pgreceivewal.html
+ url: https://www.postgresql.org/docs/current/app-pgreceivewal.html
- name: Point-in-Time Recovery
versions:
'8.1': 'Yes'
- url: https://www.postgresql.org/docs/current/static/continuous-archiving.html
+ url: https://www.postgresql.org/docs/current/continuous-archiving.html
- name: Pre-fetch WAL during recovery
versions:
'15': 'Yes'
- url: https://www.postgresql.org/docs/15/runtime-config-wal.html#GUC-RECOVERY-PREFETCH
+ url: https://www.postgresql.org/docs/current/runtime-config-wal.html#GUC-RECOVERY-PREFETCH
- name: remote_apply mode
versions:
'9.6': 'Yes'
@@ -1111,11 +1111,11 @@ featurematrix:
- name: Verify backup integrity (pg_verifybackup)
versions:
'13': 'Yes'
- url: https://www.postgresql.org/docs/13/app-pgverifybackup.html
+ url: https://www.postgresql.org/docs/current/app-pgverifybackup.html
- name: Warm Standby
versions:
'8.2': 'Yes'
- url: https://www.postgresql.org/docs/current/static/warm-standby.html
+ url: https://www.postgresql.org/docs/current/warm-standby.html
Upgrade:
- name: pg_upgrade --swap
versions:
@@ -1123,7 +1123,7 @@ featurematrix:
description: "The `--swap` option moves the data directories from the old\
\ cluster to the new cluster and then replaces catalog files with those\
\ generated for the new cluster. See\
- [`pg_upgrade`](https://www.postgresql.org/docs/18/pgupgrade.html)\
+ [`pg_upgrade`](https://www.postgresql.org/docs/current/pgupgrade.html)\
\ for more information."
- name: Planner statistics preserved on major version upgrade
versions:
@@ -1131,7 +1131,7 @@ featurematrix:
description: "PostgreSQL now keeps planner statistics\
\ through a major version upgrade, which helps an upgraded cluster\
\ reach expected performance more quickly after the upgrade. See the\
- \ statistics section in [`pg_upgrade`](https://www.postgresql.org/docs/18/pgupgrade.html)\
+ \ statistics section in [`pg_upgrade`](https://www.postgresql.org/docs/current/pgupgrade.html)\
\ for more information."
Data Import & Export:
- name: COPY from/to STDIN/STDOUT
@@ -1153,16 +1153,16 @@ featurematrix:
- name: COPY with arbitrary SELECT
versions:
'8.2': 'Yes'
- url: https://www.postgresql.org/docs/current/static/sql-copy.html
+ url: https://www.postgresql.org/docs/current/sql-copy.html
- name: CSV support for COPY
versions:
'8.1': 'Yes'
- url: https://www.postgresql.org/docs/current/static/sql-copy.html
+ url: https://www.postgresql.org/docs/current/sql-copy.html
Configuration Management:
- name: ALTER SYSTEM
versions:
'9.4': 'Yes'
- url: https://www.postgresql.org/docs/9.4/static/sql-altersystem.html
+ url: https://www.postgresql.org/docs/current/sql-altersystem.html
- name: Fractional input for "integer" values
versions:
'12': 'Yes'
@@ -1171,8 +1171,8 @@ featurematrix:
- name: Include directives for pg_hba.conf and pg_ident.conf
versions:
'16': 'Yes'
- description: 'Both [`pg_hba.conf`](https://www.postgresql.org/docs/16/auth-pg-hba-conf.html)
- and [`pg_ident.conf`](https://www.postgresql.org/docs/16/auth-username-maps.html)
+ description: 'Both [`pg_hba.conf`](https://www.postgresql.org/docs/current/auth-pg-hba-conf.html)
+ and [`pg_ident.conf`](https://www.postgresql.org/docs/current/auth-username-maps.html)
support include directives that let you specify additional files for loading
rules. These include: `include`, `include_if_exists`, and `include_dir`.'
- name: Per user/database server configuration settings
@@ -1187,8 +1187,8 @@ featurematrix:
- name: Regular expression matching in pg_hba.conf and pg_ident.conf
versions:
'16': 'Yes'
- description: Both [`pg_hba.conf`](https://www.postgresql.org/docs/16/auth-pg-hba-conf.html)
- and [`pg_ident.conf`](https://www.postgresql.org/docs/16/auth-username-maps.html)
+ description: Both [`pg_hba.conf`](https://www.postgresql.org/docs/current/auth-pg-hba-conf.html)
+ and [`pg_ident.conf`](https://www.postgresql.org/docs/current/auth-username-maps.html)
allow for regular expression matching on usernames. `pg_hba.conf` also supports
regular expression matching on database names.
Security:
@@ -1199,11 +1199,11 @@ featurematrix:
- name: Client can require SCRAM channel binding
versions:
'13': 'Yes'
- url: https://www.postgresql.org/docs/13/libpq-connect.html#LIBPQ-CONNECT-CHANNEL-BINDING
+ url: https://www.postgresql.org/docs/current/libpq-connect.html#LIBPQ-CONNECT-CHANNEL-BINDING
- name: Client-specified requirements for authentication
versions:
'16': 'Yes'
- url: https://www.postgresql.org/docs/devel/libpq-connect.html#LIBPQ-CONNECT-REQUIRE-AUTH
+ url: https://www.postgresql.org/docs/current/libpq-connect.html#LIBPQ-CONNECT-REQUIRE-AUTH
- name: Column level permissions
versions:
'8.4': 'Yes'
@@ -1216,11 +1216,11 @@ featurematrix:
- name: Direct TLS negotiation ("sslnegotiation")
versions:
'17': 'Yes'
- url: https://www.postgresql.org/docs/17/libpq-connect.html#LIBPQ-CONNECT-SSLNEGOTIATION
+ url: https://www.postgresql.org/docs/current/libpq-connect.html#LIBPQ-CONNECT-SSLNEGOTIATION
- name: FIPS mode validation
versions:
'18': 'Yes'
- url: https://www.postgresql.org/docs/18/pgcrypto.html#PGCRYPTO-OPENSSL-SUPPORT-FUNCS
+ url: https://www.postgresql.org/docs/current/pgcrypto.html#PGCRYPTO-OPENSSL-SUPPORT-FUNCS
- name: GRANT/REVOKE ON ALL TABLES/SEQUENCES/FUNCTIONS
versions:
'9.0': 'Yes'
@@ -1229,7 +1229,7 @@ featurematrix:
versions:
'12': 'Yes'
description: "Support for client and server-side connection encryption when using\
- \ GSSAPI for authentication.\r\n\r\nhttps://www.postgresql.org/docs/12/gssapi-auth.html"
+ \ GSSAPI for authentication.\r\n\r\nhttps://www.postgresql.org/docs/current/gssapi-auth.html"
- name: GSSAPI support
versions:
'8.3': 'Yes'
@@ -1237,7 +1237,7 @@ featurematrix:
- name: Kerberos credential delegation
versions:
'16': 'Yes'
- url: https://www.postgresql.org/docs/16/runtime-config-connection.html#GUC-GSS-ACCEPT-DELEGATION
+ url: https://www.postgresql.org/docs/current/runtime-config-connection.html#GUC-GSS-ACCEPT-DELEGATION
- name: krb5 authentication (without gssapi)
versions:
'8.1': 'Yes'
@@ -1251,17 +1251,17 @@ featurematrix:
versions:
'12': 'Yes'
description: "LDAP servers with DNS SRV can be discovered if PostgreSQL is built\
- \ with OpenLDAP\r\n\r\nhttps://www.postgresql.org/docs/12/auth-ldap.html"
+ \ with OpenLDAP\r\n\r\nhttps://www.postgresql.org/docs/current/auth-ldap.html"
- name: Multifactor authentication via valid client SSL/TLS certificate
versions:
'12': 'Yes'
description: "If an authentication entry in the pg_hba.conf specifies the `clientcert=verify-full`,\
\ then the client must present a valid SSL certificate that matches the login\
- \ name, or the client name based on a map.\r\n\r\n[https://www.postgresql.org/docs/12/ssl-tcp.html#SSL-CLIENT-CERTIFICATES](https://www.postgresql.org/docs/12/ssl-tcp.html#SSL-CLIENT-CERTIFICATES)"
+ \ name, or the client name based on a map.\r\n\r\n[https://www.postgresql.org/docs/current/ssl-tcp.html#SSL-CLIENT-CERTIFICATES](https://www.postgresql.org/docs/current/ssl-tcp.html#SSL-CLIENT-CERTIFICATES)"
- name: Native LDAP authentication
versions:
'8.2': 'Yes'
- url: https://www.postgresql.org/docs/current/static/auth-methods.html#AUTH-LDAP
+ url: https://www.postgresql.org/docs/current/auth-methods.html#AUTH-LDAP
- name: Native RADIUS authentication
versions:
'9.0': 'Yes'
@@ -1269,7 +1269,7 @@ featurematrix:
- name: OAuth Authentication / Authorization
versions:
'18': 'Yes'
- url: https://www.postgresql.org/docs/18/auth-oauth.html
+ url: https://www.postgresql.org/docs/current/auth-oauth.html
- name: Per user/database connection limits
versions:
'8.1': 'Yes'
@@ -1282,7 +1282,7 @@ featurematrix:
- name: Privileges for setting configuration parameters
versions:
'15': 'Yes'
- description: Unprivileged users can be [granted permission](https://www.postgresql.org/docs/15/sql-grant.html)
+ description: Unprivileged users can be [granted permission](https://www.postgresql.org/docs/current/sql-grant.html)
to change server variables via [`SET`](https://www.postgresql.org/docs/current/sql-set.html)
and [`ALTER SYSTEM`](https://www.postgresql.org/docs/current/sql-altersystem.html)
- name: ROLES
@@ -1293,7 +1293,7 @@ featurematrix:
- name: Row-Level Security
versions:
'9.5': 'Yes'
- url: https://www.postgresql.org/docs/current/static/sql-createpolicy.html
+ url: https://www.postgresql.org/docs/current/sql-createpolicy.html
- name: SCRAM-SHA-256 Authentication
versions:
'10': 'Yes'
@@ -1320,7 +1320,7 @@ featurematrix:
- name: SHA-2 encryption for password hashing
versions:
'18': 'Yes'
- url: https://www.postgresql.org/docs/18/pgcrypto.html#PGCRYPTO-CRYPT-ALGORITHMS
+ url: https://www.postgresql.org/docs/current/pgcrypto.html#PGCRYPTO-CRYPT-ALGORITHMS
- name: SSL certificate validation in libpq
versions:
'8.4': 'Yes'
@@ -1342,16 +1342,16 @@ featurematrix:
- name: TLS v1.3 cipher suite allowlisting
versions:
'18': 'Yes'
- url: https://www.postgresql.org/docs/18/runtime-config-connection.html#GUC-SSL-TLS13-CIPHERS
+ url: https://www.postgresql.org/docs/current/runtime-config-connection.html#GUC-SSL-TLS13-CIPHERS
Transactions and Visibility:
- name: Cursors
versions:
'8.1': 'Yes'
- url: https://www.postgresql.org/docs/current/static/sql-declare.html
+ url: https://www.postgresql.org/docs/current/sql-declare.html
- name: Savepoints
versions:
'8.1': 'Yes'
- url: https://www.postgresql.org/docs/current/static/sql-savepoint.html
+ url: https://www.postgresql.org/docs/current/sql-savepoint.html
- name: Serializable Snapshot Isolation
versions:
'9.1': 'Yes'
@@ -1361,11 +1361,11 @@ featurematrix:
- name: Two Phase commit
versions:
'8.1': 'Yes'
- url: https://www.postgresql.org/docs/current/static/sql-prepare-transaction.html
+ url: https://www.postgresql.org/docs/current/sql-prepare-transaction.html
- name: Updatable cursors
versions:
'8.3': 'Yes'
- url: https://www.postgresql.org/docs/current/static/sql-declare.html
+ url: https://www.postgresql.org/docs/current/sql-declare.html
VACUUM and Maintenance:
- name: Inserted data can trigger autovacuum
versions:
@@ -1376,7 +1376,7 @@ featurematrix:
- name: Integrated autovacuum daemon
versions:
'8.1': 'Yes'
- url: https://www.postgresql.org/docs/current/static/routine-vacuuming.html#AUTOVACUUM
+ url: https://www.postgresql.org/docs/current/routine-vacuuming.html#AUTOVACUUM
- name: Page freezing optimizations
versions:
'16': 'Yes'
@@ -1405,8 +1405,8 @@ featurematrix:
'14': 'Yes'
description: PostgreSQL will vacuum aggressively when it detects the possibility
of transaction ID wraparound. This is controlled with the [`vacuum_failsafe_age
- `](https://www.postgresql.org/docs/14/runtime-config-client.html#GUC-VACUUM-FAILSAFE-AGE)
- and [`vacuum_multixact_failsafe_age `](https://www.postgresql.org/docs/14/runtime-config-client.html#GUC-MULTIXACT-FAILSAFE-AGE)
+ `](https://www.postgresql.org/docs/current/runtime-config-vacuum.html#GUC-VACUUM-FAILSAFE-AGE)
+ and [`vacuum_multixact_failsafe_age `](https://www.postgresql.org/docs/current/runtime-config-vacuum.html#GUC-VACUUM-MULTIXACT-FAILSAFE-AGE)
configuration parameters.
- name: Visibility Map for Vacuuming
versions:
@@ -1417,9 +1417,9 @@ featurematrix:
- name: Certificate authentication with postgres_fdw
versions:
'13': 'Yes'
- description: "The [postgres_fdw](https://www.postgresql.org/docs/13/postgres-fdw.html)\
+ description: "The [postgres_fdw](https://www.postgresql.org/docs/current/postgres-fdw.html)\
\ can now use the built-in [certificate authentication](https://www.postgresql.org/docs/current/auth-cert.html)\
- \ mechanism.\r\n\r\nFor more information, please visit the [postgres_fdw documentation](https://www.postgresql.org/docs/13/postgres-fdw.html#id-1.11.7.42.10)"
+ \ mechanism.\r\n\r\nFor more information, please visit the [postgres_fdw documentation](https://www.postgresql.org/docs/current/postgres-fdw.html#POSTGRES-FDW-OPTIONS)"
- name: CREATE FOREIGN TABLE ... LIKE
versions:
'18': 'Yes'
@@ -1430,7 +1430,7 @@ featurematrix:
versions:
'14': 'Yes'
description: Queries that reference multiple foreign tables can perform table
- scans in parallel. This is implemented in the [`postgres_fdw`](https://www.postgresql.org/docs/14/postgres-fdw.html)
+ scans in parallel. This is implemented in the [`postgres_fdw`](https://www.postgresql.org/docs/current/postgres-fdw.html)
- name: Foreign data wrappers
versions:
'9.1': 'Yes'
@@ -1443,11 +1443,11 @@ featurematrix:
- name: IMPORT FOREIGN SCHEMA
versions:
'9.5': 'Yes'
- url: https://www.postgresql.org/docs/9.5/static/sql-importforeignschema.html
+ url: https://www.postgresql.org/docs/current/sql-importforeignschema.html
- name: Import foreign table partitions
versions:
'14': 'Yes'
- description: '[`IMPORT FOREIGN SCHEMA`](https://www.postgresql.org/docs/14/sql-importforeignschema.html)
+ description: '[`IMPORT FOREIGN SCHEMA`](https://www.postgresql.org/docs/current/sql-importforeignschema.html)
can import the schema of partitioned tables.'
- name: Parallel query execution on remote databases
versions:
@@ -1458,7 +1458,7 @@ featurematrix:
- name: postgres_fdw parallel commit
versions:
'15': 'Yes'
- url: https://www.postgresql.org/docs/15/postgres-fdw.html#id-1.11.7.47.11.7
+ url: https://www.postgresql.org/docs/current/postgres-fdw.html#POSTGRES-FDW-OPTIONS-TRANSACTION-MANAGEMENT
- name: postgres_fdw pushdown
versions:
'9.6': 'Yes'
@@ -1468,11 +1468,11 @@ featurematrix:
- name: postgres_fdw SCRAM authentication passthrough
versions:
'18': 'Yes'
- url: https://www.postgresql.org/docs/18/postgres-fdw.html#POSTGRES-FDW-OPTION-USE-SCRAM-PASSTHROUGH
+ url: https://www.postgresql.org/docs/current/postgres-fdw.html#POSTGRES-FDW-OPTION-USE-SCRAM-PASSTHROUGH
- name: PostgreSQL Foreign Data Wrapper
versions:
'9.3': 'Yes'
- url: https://www.postgresql.org/docs/current/static/postgres-fdw.html
+ url: https://www.postgresql.org/docs/current/postgres-fdw.html
- name: Writable Foreign Data Wrappers
versions:
'9.3': 'Yes'
@@ -1487,7 +1487,7 @@ featurematrix:
- name: ALTER TABLE / ENABLE REPLICA TRIGGER/RULE
versions:
'8.3': 'Yes'
- url: https://www.postgresql.org/docs/current/static/sql-altertable.html
+ url: https://www.postgresql.org/docs/current/sql-altertable.html
- name: BEGIN ATOMIC function bodies
versions:
'14': 'Yes'
@@ -1499,7 +1499,7 @@ featurematrix:
- name: CALL syntax for executing procedures
versions:
'11': 'Yes'
- url: https://www.postgresql.org/docs/11/static/sql-call.html
+ url: https://www.postgresql.org/docs/current/sql-call.html
- name: Column level triggers
versions:
'9.0': 'Yes'
@@ -1508,7 +1508,7 @@ featurematrix:
- name: CREATE PROCEDURE syntax for SQL stored procedures
versions:
'11': 'Yes'
- url: https://www.postgresql.org/docs/11/static/sql-createprocedure.html
+ url: https://www.postgresql.org/docs/current/sql-createprocedure.html
- name: Event triggers
versions:
'9.3': 'Yes'
@@ -1575,7 +1575,7 @@ featurematrix:
- name: CREATE TRANSFORM
versions:
'9.5': 'Yes'
- url: https://www.postgresql.org/docs/9.5/static/sql-createtransform.html
+ url: https://www.postgresql.org/docs/current/sql-createtransform.html
- name: DO statement for PL/Perl
versions:
'9.0': 'Yes'
@@ -1669,7 +1669,7 @@ featurematrix:
- name: Extension Installation
versions:
'9.1': 'Yes'
- url: https://www.postgresql.org/docs/current/static/external-extensions.html
+ url: https://www.postgresql.org/docs/current/external-extensions.html
- name: Trusted Extensions
versions:
'13': 'Yes'
@@ -1684,11 +1684,11 @@ featurematrix:
'17': 'Yes'
description: PostgreSQL has a built-in, platform independent immutable collation
provider that supports C and C.UTF-8 collations. For more information, see [standard
- collations](https://www.postgresql.org/docs/17/collation.html#COLLATION-MANAGING-STANDARD).
+ collations](https://www.postgresql.org/docs/current/collation.html#COLLATION-MANAGING-STANDARD).
- name: casefold
versions:
'18': 'Yes'
- url: https://www.postgresql.org/docs/18/functions-string.html#id-1.5.8.10.7.2.2.8.1.1.1
+ url: https://www.postgresql.org/docs/current/functions-string.html#id-1.5.8.10.7.2.2.8.1.1.1
- name: Column-level collation support
versions:
'9.1': 'Yes'
@@ -1712,11 +1712,11 @@ featurematrix:
- name: ICU collations
versions:
'10': 'Yes'
- url: https://www.postgresql.org/docs/current/static/collation.html#id-1.6.10.4.5.7.5
+ url: https://www.postgresql.org/docs/current/collation.html#id-1.6.10.4.5.7.5
- name: LIKE comparisons for nondeterministic collations
versions:
'18': 'Yes'
- url: https://www.postgresql.org/docs/18/collation.html#COLLATION-NONDETERMINISTIC
+ url: https://www.postgresql.org/docs/current/collation.html#COLLATION-NONDETERMINISTIC
- name: Multibyte encoding support, incl. UTF8
versions:
'8.1': 'Yes'
@@ -1728,11 +1728,11 @@ featurematrix:
- name: Nondeterministic collations
versions:
'12': 'Yes'
- url: https://www.postgresql.org/docs/12/collation.html#COLLATION-NONDETERMINISTIC
+ url: https://www.postgresql.org/docs/current/collation.html#COLLATION-NONDETERMINISTIC
- name: pg_unicode_fast collation
versions:
'18': 'Yes'
- url: https://www.postgresql.org/docs/18/collation.html#COLLATION-MANAGING-STANDARD
+ url: https://www.postgresql.org/docs/current/collation.html#COLLATION-MANAGING-STANDARD
- name: Unicode string literals and identifiers
versions:
'8.4': 'Yes'
@@ -1750,19 +1750,19 @@ featurematrix:
- name: pg_combinebackup
versions:
'17': 'Yes'
- url: https://www.postgresql.org/docs/17/app-pgcombinebackup.html
+ url: https://www.postgresql.org/docs/current/app-pgcombinebackup.html
- name: pg_createsubscriber
versions:
'17': 'Yes'
- url: https://www.postgresql.org/docs/17/app-pgcreatesubscriber.html
+ url: https://www.postgresql.org/docs/current/app-pgcreatesubscriber.html
- name: pg_prewarm
versions:
'9.4': 'Yes'
- url: https://www.postgresql.org/docs/9.4/static/pgprewarm.html
+ url: https://www.postgresql.org/docs/current/pgprewarm.html
- name: pg_rewind
versions:
'9.5': 'Yes'
- url: https://www.postgresql.org/docs/current/static/app-pgrewind.html
+ url: https://www.postgresql.org/docs/current/app-pgrewind.html
- name: pg_standby
versions:
'8.3': 'Yes'
@@ -1779,7 +1779,7 @@ featurematrix:
- name: pg_walsummary
versions:
'17': 'Yes'
- url: https://www.postgresql.org/docs/17/app-pgwalsummary.html
+ url: https://www.postgresql.org/docs/current/app-pgwalsummary.html
- name: pg_xlogdump
versions:
'9.3': 'Yes'
@@ -1789,30 +1789,30 @@ featurematrix:
- name: psql \bind
versions:
'16': 'Yes'
- url: https://www.postgresql.org/docs/16/app-psql.html#APP-PSQL-META-COMMAND-BIND
+ url: https://www.postgresql.org/docs/current/app-psql.html#APP-PSQL-META-COMMAND-BIND
- name: psql \dconfig
versions:
'15': 'Yes'
- description: The [`psql`](https://www.postgresql.org/docs/15/app-psql.html) client
+ description: The [`psql`](https://www.postgresql.org/docs/current/app-psql.html) client
includes a `\dconfig` command for inspecting and finding the values of configuration
parameters.
- name: psql pipeline queries
versions:
'18': 'Yes'
description: "psql can issue pipeline queries using the commands\
- \ [`\\startpipeline`](https://www.postgresql.org/docs/18/app-psql.html#APP-PSQL-META-COMMAND-PIPELINE),\
- \ [`\\syncpipeline`](https://www.postgresql.org/docs/18/app-psql.html#APP-PSQL-META-COMMAND-PIPELINE),\
- \ [`\\sendpipeline`](https://www.postgresql.org/docs/18/app-psql.html#APP-PSQL-META-COMMAND-PIPELINE),\
- \ [`\\endpipeline`](https://www.postgresql.org/docs/18/app-psql.html#APP-PSQL-META-COMMAND-PIPELINE),\
- \ [`\\flushrequest`](https://www.postgresql.org/docs/18/app-psql.html#APP-PSQL-META-COMMAND-PIPELINE),\
- \ [`\\flush`](https://www.postgresql.org/docs/18/app-psql.html#APP-PSQL-META-COMMAND-PIPELINE), and\
- \ [`\\getresults`](https://www.postgresql.org/docs/18/app-psql.html#APP-PSQL-META-COMMAND-PIPELINE)."
+ \ [`\\startpipeline`](https://www.postgresql.org/docs/current/app-psql.html#APP-PSQL-META-COMMAND-PIPELINE),\
+ \ [`\\syncpipeline`](https://www.postgresql.org/docs/current/app-psql.html#APP-PSQL-META-COMMAND-PIPELINE),\
+ \ [`\\sendpipeline`](https://www.postgresql.org/docs/current/app-psql.html#APP-PSQL-META-COMMAND-PIPELINE),\
+ \ [`\\endpipeline`](https://www.postgresql.org/docs/current/app-psql.html#APP-PSQL-META-COMMAND-PIPELINE),\
+ \ [`\\flushrequest`](https://www.postgresql.org/docs/current/app-psql.html#APP-PSQL-META-COMMAND-PIPELINE),\
+ \ [`\\flush`](https://www.postgresql.org/docs/current/app-psql.html#APP-PSQL-META-COMMAND-PIPELINE), and\
+ \ [`\\getresults`](https://www.postgresql.org/docs/current/app-psql.html#APP-PSQL-META-COMMAND-PIPELINE)."
- name: psql named prepared statements
versions:
'18': 'Yes'
- description: "psql can parse ([`\\parse`](https://www.postgresql.org/docs/18/app-psql.html#APP-PSQL-META-COMMAND-PARSE)),\
- \ bind ([`\\bind_named`](https://www.postgresql.org/docs/18/app-psql.html#APP-PSQL-META-COMMAND-BIND-NAMED)),\
- \ and close ([`\\close_prepared`](https://www.postgresql.org/docs/18/app-psql.html#APP-PSQL-META-COMMAND-CLOSE-PREPARED))\
+ description: "psql can parse ([`\\parse`](https://www.postgresql.org/docs/current/app-psql.html#APP-PSQL-META-COMMAND-PARSE)),\
+ \ bind ([`\\bind_named`](https://www.postgresql.org/docs/current/app-psql.html#APP-PSQL-META-COMMAND-BIND-NAMED)),\
+ \ and close ([`\\close_prepared`](https://www.postgresql.org/docs/current/app-psql.html#APP-PSQL-META-COMMAND-CLOSE-PREPARED))\
\ named prepared statements."
- name: Version aware psql
versions:
@@ -1824,7 +1824,7 @@ featurematrix:
versions:
'8.2': 'Yes'
'17': 'No'
- url: https://www.postgresql.org/docs/current/static/adminpack.html
+ url: https://www.postgresql.org/docs/16/adminpack.html
- name: auth_delay
versions:
'9.1': 'Yes'
@@ -1836,11 +1836,11 @@ featurematrix:
- name: btree_gin
versions:
'8.4': 'Yes'
- url: https://www.postgresql.org/docs/current/static/btree-gin.html
+ url: https://www.postgresql.org/docs/current/btree-gin.html
- name: btree_gist
versions:
'8.1': 'Yes'
- url: https://www.postgresql.org/docs/8.3/static/btree-gist.html
+ url: https://www.postgresql.org/docs/current/btree-gist.html
- name: citext
versions:
'8.4': 'Yes'
@@ -1848,7 +1848,7 @@ featurematrix:
- name: dblink
versions:
'8.1': 'Yes'
- url: https://www.postgresql.org/docs/current/static/dblink.html
+ url: https://www.postgresql.org/docs/current/dblink.html
- name: dblink asynchronous notification support
versions:
'9.0': 'Yes'
@@ -1868,7 +1868,7 @@ featurematrix:
- name: intarray
versions:
'8.1': 'Yes'
- url: https://www.postgresql.org/docs/current/static/intarray.html
+ url: https://www.postgresql.org/docs/current/intarray.html
- name: isn (ISBN)
versions:
'8.2': 'Yes'
@@ -1881,7 +1881,7 @@ featurematrix:
- name: ltree
versions:
'8.1': 'Yes'
- url: https://www.postgresql.org/docs/current/static/ltree.html
+ url: https://www.postgresql.org/docs/current/ltree.html
- name: pageinspect
versions:
'8.3': 'Yes'
@@ -1889,11 +1889,11 @@ featurematrix:
- name: passwordcheck
versions:
'9.0': 'Yes'
- url: https://www.postgresql.org/docs/current/static/passwordcheck.html
+ url: https://www.postgresql.org/docs/current/passwordcheck.html
- name: pg_buffercache
versions:
'8.1': 'Yes'
- url: https://www.postgresql.org/docs/current/static/pgbuffercache.html
+ url: https://www.postgresql.org/docs/current/pgbuffercache.html
- name: pg_freespacemap
versions:
'8.2': 'Yes'
@@ -1901,15 +1901,15 @@ featurematrix:
- name: pg_logicalinspect
versions:
'18': 'Yes'
- url: https://www.postgresql.org/docs/18/pglogicalinspect.html
+ url: https://www.postgresql.org/docs/current/pglogicalinspect.html
- name: pg_overexplain
versions:
'18': 'Yes'
- url: https://www.postgresql.org/docs/18/pgoverexplain.html
+ url: https://www.postgresql.org/docs/current/pgoverexplain.html
- name: pg_stat_statements
versions:
'8.4': 'Yes'
- url: https://www.postgresql.org/docs/current/static/pgstatstatements.html
+ url: https://www.postgresql.org/docs/current/pgstatstatements.html
- name: pg_stat_statements improvements
versions:
'9.2': 'Yes'
@@ -1918,11 +1918,11 @@ featurematrix:
- name: pgstattuple
versions:
'8.1': 'Yes'
- url: https://www.postgresql.org/docs/current/static/pgstattuple.html
+ url: https://www.postgresql.org/docs/current/pgstattuple.html
- name: pg_trgm
versions:
'8.1': 'Yes'
- url: https://www.postgresql.org/docs/current/static/pgtrgm.html
+ url: https://www.postgresql.org/docs/current/pgtrgm.html
- name: pg_trgm regular expressions indexing
versions:
'9.3': 'Yes'
@@ -1930,13 +1930,13 @@ featurematrix:
- name: pg_walinspect
versions:
'15': 'Yes'
- description: '[`pg_walinspect`](https://www.postgresql.org/docs/15/pgwalinspect.html)
+ description: '[`pg_walinspect`](https://www.postgresql.org/docs/current/pgwalinspect.html)
allows for the contents of write-ahead logs (WAL) files to be inspected from
SQL.'
- name: seg
versions:
'8.1': 'Yes'
- url: https://www.postgresql.org/docs/current/static/seg.html
+ url: https://www.postgresql.org/docs/current/seg.html
- name: sepgsql
versions:
'9.1': 'Yes'
@@ -1948,11 +1948,11 @@ featurematrix:
- name: tablefunc
versions:
'8.1': 'Yes'
- url: https://www.postgresql.org/docs/current/static/tablefunc.html
+ url: https://www.postgresql.org/docs/current/tablefunc.html
- name: tcn
versions:
'9.2': 'Yes'
- url: https://www.postgresql.org/docs/current/static/tcn.html
+ url: https://www.postgresql.org/docs/current/tcn.html
- name: tsearch2 compatibility wrapper
versions:
'8.3': 'Yes'
@@ -1962,7 +1962,7 @@ featurematrix:
- name: unaccent
versions:
'9.0': 'Yes'
- url: https://www.postgresql.org/docs/current/static/unaccent.html
+ url: https://www.postgresql.org/docs/current/unaccent.html
- name: uuid-ossp
versions:
'8.3': 'Yes'
@@ -1976,7 +1976,7 @@ featurematrix:
- name: Full SSL support
versions:
'8.1': 'Yes'
- url: https://www.postgresql.org/docs/current/static/ssl-tcp.html
+ url: https://www.postgresql.org/docs/current/ssl-tcp.html
- name: IPv6 Support
versions:
'8.1': 'Yes'
@@ -1989,7 +1989,7 @@ featurematrix:
- name: V3 client protocol
versions:
'8.1': 'Yes'
- url: https://www.postgresql.org/docs/current/static/protocol.html
+ url: https://www.postgresql.org/docs/current/protocol.html
Platforms:
- name: Microsoft Visual C++ Support
versions:
--
2.39.3 (Apple Git-146)
[application/octet-stream] v3-0004-featurematrix-Use-Markdown-for-description-links.patch (3.3K, 5-v3-0004-featurematrix-Use-Markdown-for-description-links.patch)
download | inline diff:
From 0018063ac3de22b4682d491241dee6d9a665109b Mon Sep 17 00:00:00 2001
From: Daniel Gustafsson <[email protected]>
Date: Tue, 21 Oct 2025 13:59:38 +0200
Subject: [PATCH v3 4/4] featurematrix: Use Markdown for description links
A few links in the description texts were not using Markdown syntax
for links rendering them as text rather than actual html links. Fix
by wrapping all links in []() syntax.
Author: Daniel Gustafsson <[email protected]>
Discussion: https://postgr.es/m/[email protected]
---
data/featurematrix.yaml | 14 ++++++++------
1 file changed, 8 insertions(+), 6 deletions(-)
diff --git a/data/featurematrix.yaml b/data/featurematrix.yaml
index a5bbd8be..7bd4aca2 100644
--- a/data/featurematrix.yaml
+++ b/data/featurematrix.yaml
@@ -531,15 +531,17 @@ featurematrix:
- name: CREATE STATISTICS - multicolumn
versions:
'10': 'Yes'
- description: "CREATE STATISTICS provides the ability to collect statistics over\
+ description: "[CREATE STATISTICS](https://www.postgresql.org/docs/current/sql-createstatistics.html)\
+ \ provides the ability to collect statistics over\
\ multiple columns, which can be used by the optimizer to generate better query\
- \ plans.\r\n\r\nhttps://www.postgresql.org/docs/current/sql-createstatistics.html"
+ \ plans."
- name: CREATE STATISTICS - "OR" and "IN/ANY" statistics
versions:
'13': 'Yes'
description: Extended statistics can help the query planner generate better plans
for queries that have "OR" clauses as well as "IN/ANY" lookups over lists. For
- more information, please see https://www.postgresql.org/docs/current/planner-stats.html#PLANNER-STATS-EXTENDED
+ more information, please see
+ [https://www.postgresql.org/docs/current/planner-stats.html#PLANNER-STATS-EXTENDED](https://www.postgresql.org/docs/current/planner-stats.html#PLANNER-STATS-EXTENDED)
- name: Cross datatype hashing support
versions:
'8.3': 'Yes'
@@ -1020,7 +1022,7 @@ featurematrix:
versions:
'12': 'Yes'
description: "Page checksums can be enabled or disabled in an offline PostgreSQL\
- \ cluster via the pg_checksums command:\r\n\r\nhttps://www.postgresql.org/docs/current/app-pgchecksums.html"
+ \ cluster via the [pg_checksums command](https://www.postgresql.org/docs/current/app-pgchecksums.html)"
- name: Generic WAL facility
versions:
'9.6': 'Yes'
@@ -1229,7 +1231,7 @@ featurematrix:
versions:
'12': 'Yes'
description: "Support for client and server-side connection encryption when using\
- \ GSSAPI for authentication.\r\n\r\nhttps://www.postgresql.org/docs/current/gssapi-auth.html"
+ \ [GSSAPI for authentication](https://www.postgresql.org/docs/current/gssapi-auth.html)"
- name: GSSAPI support
versions:
'8.3': 'Yes'
@@ -1251,7 +1253,7 @@ featurematrix:
versions:
'12': 'Yes'
description: "LDAP servers with DNS SRV can be discovered if PostgreSQL is built\
- \ with OpenLDAP\r\n\r\nhttps://www.postgresql.org/docs/current/auth-ldap.html"
+ \ with [OpenLDAP](https://www.postgresql.org/docs/current/auth-ldap.html)"
- name: Multifactor authentication via valid client SSL/TLS certificate
versions:
'12': 'Yes'
--
2.39.3 (Apple Git-146)
reply
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: [email protected]
Cc: [email protected], [email protected], [email protected], [email protected]
Subject: Re: Typos in the featurematrix
In-Reply-To: <[email protected]>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox