branch: elpa/pg
commit 76b11a260b7078a3aa0bf65fc6655bc4b08c3f98
Author: Eric Marsden <[email protected]>
Commit: Eric Marsden <[email protected]>
Update information on tested variant versions
---
README.md | 46 +++++++++++++++++++++++++++-------------------
1 file changed, 27 insertions(+), 19 deletions(-)
diff --git a/README.md b/README.md
index 16a1a4caa81..e32c3019ac1 100644
--- a/README.md
+++ b/README.md
@@ -72,7 +72,7 @@ The following PostgreSQL-compatible databases or extensions
have been tested:
extension rather than a distinct database implementation).
- [IvorySQL](https://www.ivorysql.org/) works perfectly (this Apache licensed
fork of PostgreSQL
- adds some features for compatibility with Oracle). Last tested 2025-12 with
version 5.0.
+ adds some features for compatibility with Oracle). Last tested 2026-01 with
version 5.1.
- The [Timescale DB](https://www.timescale.com/) extension for time series
data, source available
but non open source. This works perfectly (last tested 2025-12 with version
2.24).
@@ -86,7 +86,7 @@ The following PostgreSQL-compatible databases or extensions
have been tested:
- The [Microsoft DocumentDB](https://github.com/microsoft/documentdb)
extension for MongoDB-like
queries (MIT licensed). Works perfectly. Note that this is not the same
product as Amazon
- DocumentDB. Last tested 2025-09 with the FerretDB distribution 2.3.1.
+ DocumentDB. Last tested 2026-01 with the FerretDB distribution 2.3.1.
- The [Hydra Columnar](https://github.com/hydradatabase/columnar) extension
for column-oriented
storage and parallel queries (Apache license). Works perfectly (last tested
2025-05 with v1.1.2).
@@ -95,11 +95,14 @@ The following PostgreSQL-compatible databases or extensions
have been tested:
graph processing (Apache 2 license) works perfectly. Last tested 2025-07
with version 2.15.
- The [PgBouncer](https://www.pgbouncer.org/) connection pooler for PostgreSQL
(open source, ISC
- licensed). Works fine (last tested 2025-09 with version 1.24 in the default
session pooling mode).
+ licensed). Works fine (last tested 2026-01 with version 1.24 in the default
session pooling mode).
- The [Odyssey](https://github.com/yandex/odyssey) connection pooler from
Yandex (BSD license) works
perfectly with pg-el (last tested 2025-08 with version 1.4.0 in session
pooling mode).
+- The [GatewayD](https://github.com/gatewayd-io/gatewayd) firewall/proxy (AGPL
v3 license) includes
+ PostgreSQL proxy support which works fine with pg-el (last tested 2026-01
with version 0.10.3).
+
- The [PgDog](https://github.com/pgdogdev/pgdog) sharding connection pooler
for PostgreSQL (AGPLv3
licensed). We encounter some errors when using the extended query protocol:
unnamed prepared
statements and prepared statments named `__pgdog_N` are reported not to
exist. The pooler also
@@ -112,8 +115,8 @@ The following PostgreSQL-compatible databases or extensions
have been tested:
- [PolarDB for PostgreSQL](https://github.com/ApsaraDB/PolarDB-for-PostgreSQL)
is free software
(Apache 2 licence) developed by Alibaba Cloud, also available as a
commercial hosted service with
- a proprietary distributed storage architecture. It works perfectly with
pg-el (last tested 2025-10
- with version 15.14).
+ a proprietary distributed storage architecture. It works perfectly with
pg-el (last tested 2026-02
+ with version 15.15).
- [openGauss](https://opengauss.org/en/) is an open source (Mulan PSL v2) fork
of PostgreSQL
maintained by Huawei. It works fine with pg-el (last tested 2025-12 with
version 7.0.0-RC2).
@@ -127,11 +130,11 @@ The following PostgreSQL-compatible databases or
extensions have been tested:
though the `pg_sequences` table is not implemented so certain tests fail.
YugabyteDB does not have
full compatibility with PostgreSQL SQL, and for example `GENERATED ALWAYS
AS` columns are not
supported, and `LISTEN` and `NOTIFY` are not supported. It does support
certain extensions such as
- pgvector, however. Last tested on 2025-12 against version 2.25.
+ pgvector, however. Last tested on 2026-02 against version 2.25.
- The [RisingWave](https://github.com/risingwavelabs/risingwave) event
streaming database (Apache
license) is mostly working. It does not support `GENERATED ALWAYS AS
IDENTITY` or `SERIAL`
- columns, nor `VACUUM ANALYZE`. Last tested 2025-12 with v2.7.0.
+ columns, nor `VACUUM ANALYZE`. Last tested 2026-02 with v2.7.2.
- The [CrateDB](https://crate.io/) distributed database (Apache licence).
CrateDB does not support
rows (e.g. `SELECT (1,2)`), does not support the `time`, `varbit`, `bytea`,
`jsonb` and `hstore`
@@ -139,37 +142,42 @@ The following PostgreSQL-compatible databases or
extensions have been tested:
PostgreSQL functions such as `factorial`, does not return a correct type OID
for text columns in
rows returned from a prepared statement, doesn't support Unicode
identifiers, doesn't support the
`COPY` protocol, doesn't support `TRUNCATE TABLE`. It works with these
limitations with pg-el
- (last tested 2025-12 with version 6.1.2).
+ (last tested 2026-02 with version 6.3.0).
- The [CockroachDB](https://github.com/cockroachdb/cockroach) distributed
database (source-available
but non-free software licence). Note that this database does not implement
the large object
functionality, and its interpretation of SQL occasionally differs from that
of PostgreSQL.
Currently fails with an internal error on the SQL generated by our query for
`pg-table-owner`, and
fails on the boolean vector syntax b'1001000'. Works with these limitations
with pg-el (last
- tested 2025-12 with CockroachDB CCL v25.4).
+ tested 2026-01 with CockroachDB CCL v25.4).
- The [YDB by Yandex](https://ydb.tech/docs/en/postgresql/docker-connect)
distributed database
(Apache licence). Has very limited PostgreSQL compatibility. For example, an
empty query string
leads to a hung connection, and the `bit` type is returned as a string with
the wrong oid. Last
- tested 2025-12 with version 23-4.
+ tested 2026-02 with version 23-4.
- The [Apache Datafusion](https://datafusion.apache.org/) query engine,
designed primarily for
incremental processing applications (“streaming”), has quite good PostgreSQL
compatibility (using
the pgwire library). It does not support the `timetz` datatype, nor
`TRUNCATE TABLE`, nor
- `UPDATE`, nor `CREATE INDEX` statements. Last tested 2025-12 with version
51.0.
+ `UPDATE`, nor `CREATE INDEX` statements. Last tested 2026-02 with version
52.0.
+
+- The [Doltgres](https://github.com/dolthub/doltgresql) version-controlled
database (Apache
+ licensed) has rapidly improving PostgreSQL compatibility. It does not
implement ownership-related
+ system tables, nor int4range functions. It works well, with these
limitations, with pg-el. Last
+ tested 2026-01 with a version that is reported as 15.5.
- The [Materialize](https://materialize.com/) operational database (a
proprietary differential
dataflow database) has many limitations in its PostgreSQL compatibility: no
support for primary
keys, unique constraints, check constraints, for the `bit` type for example.
It works with these
- limitations with pg-el (last tested 2025-12 with Materialize v26.5).
+ limitations with pg-el (last tested 2026-02 with Materialize v26.10).
- The [CedarDB](https://cedardb.com/) database spun off from the Umbra
research database developed
at the University of Munich is fairly PostgreSQL compatible and works well
with pg-el. Last tested
- 2025-12 with CedarDB version v2025-12-19.
+ 2026-02 with CedarDB version v2026-02-03.
- The [QuestDB](https://questdb.io/) time series database (Apache licensed)
has very limited
- PostgreSQL support, and does not support the `integer` type for example.
Last tested 2025-12 with
- version 9.2.3.
+ PostgreSQL support, and does not support the `integer` type for example.
Last tested 2026-02 with
+ version 9.3.2.
- The proprietary [Yellowbrick](https://yellowbrick.com/) distributed database
does not implement
`SERIAL` columns, nor datatypes such as `text`, `bit` and `timetz`, nor
collation, nor enums, nor
@@ -203,7 +211,7 @@ The following PostgreSQL-compatible databases or extensions
have been tested:
`pg_catalog.pg_types` table are not the same as those used by PostgreSQL
(e.g. `Int64` instead of
`int8`), so our parsing machinery does not work. This database also has more
restrictions on the
use of identifiers than PostgreSQL (for example, `id` is not accepted as a
column name, nor are
- identifiers containing Unicode characters). Last tested v1.0.0-beta2 in
2025-12.
+ identifiers containing Unicode characters). Last tested v1.0.0-rc1 in
2026-02.
- Hosted PostgreSQL services that have been tested: as of 2025-06 render.com
is running a Debian
build of PostgreSQL 16.8 and works fine (requires TLS connection), as of
2024-12
@@ -217,9 +225,9 @@ The following PostgreSQL-compatible databases or extensions
have been tested:
- Untested but likely to work: different [PostgreSQL-derived
forks](https://wiki.postgresql.org/wiki/PostgreSQL_derived_databases), such
as Amazon RDS, Google
- Cloud SQL, Azure Database for PostgreSQL, Amazon Aurora, CrunchyData
Warehouse. You may however
- encounter difficulties with TLS connections, as noted above. Reports on
success or problems
- encountered with these databases are welcome.
+ Cloud SQL, Azure Database for PostgreSQL, Azure HorizonDB, Amazon Aurora,
CrunchyData Warehouse.
+ You may however encounter difficulties with TLS connections, as noted above.
Reports on success or
+ problems encountered with these databases are welcome.
PostgreSQL variants or proxies that **don't work** with pg-el: