branch: elpa/pg commit 7ce4f3fb8aec467f0df210896033c1520b8da354 Author: Eric Marsden <eric.mars...@risk-engineering.org> Commit: Eric Marsden <eric.mars...@risk-engineering.org>
Improve test recipe for the Timeplus Proton database (Clickhouse fork) --- test/Makefile | 57 ++++++++++++++++++++++++++++++++++++--------------------- 1 file changed, 36 insertions(+), 21 deletions(-) diff --git a/test/Makefile b/test/Makefile index 3f53a6d17bb..d68a463d694 100644 --- a/test/Makefile +++ b/test/Makefile @@ -597,7 +597,7 @@ test-cedardb: test-pg.el # https://github.com/geldata/gel # # We don't bother detecting this as a specific PostgreSQL variant, because the SQL syntax it accepts -# is too different from standard PostgreSQL (no support for CREATE, for DROP, for EXPLAIN +# is too different from standard PostgreSQL (no support for CREATE, for DROP, for EXPLAIN...) test-geldata: test-pg.el ${DOCKER} run --rm --name geldata \ --pull=newer \ @@ -614,6 +614,9 @@ test-geldata: test-pg.el # https://hub.docker.com/r/pgedge/pgedge # https://github.com/pgEdge/pgedge-docker +# +# As of 2025-08, failing on "create extension vector" with a SIGILL +# --> https://github.com/pgEdge/pgedge-docker/issues/20 test-pgedge: test-pg.el ${DOCKER} run --rm --name pgedge \ --pull=newer \ @@ -721,7 +724,7 @@ test-pgdog: test-pg.el test-readyset: test-pg.el ${DOCKER} run --rm --name bitnamipg \ --pull=newer \ - --publish 5488:5488 \ + --publish 127.0.0.1:5488:5488 \ -e POSTGRESQL_PORT_NUMBER=5488 \ -e POSTGRESQL_DATABASE=pgeltestdb \ -e POSTGRESQL_USERNAME=pgeltestuser \ @@ -805,10 +808,10 @@ test-questdb: test-pg.el ${DOCKER} stop questdb -# Last tested 2025-03, Yugabyte 2.25 is based on PostgreSQL 15.2. This works very well, including -# the HSTORE and pgvector extensions. The sequence test fails (SELECT last_value FROM pg_sequences). -# Some more recent SQL evolutions such as "INTEGER GENERATED ALWAYS AS expression STORED" are not -# supported. LISTEN/NOTIFY is not supported. +# Yugabyte 2.25 is based on PostgreSQL 15.2. This works very well, including the HSTORE and pgvector +# extensions. The sequence test fails (SELECT last_value FROM pg_sequences). Some more recent SQL +# evolutions such as "INTEGER GENERATED ALWAYS AS expression STORED" are not supported. +# LISTEN/NOTIFY is not supported. # # TODO: test YSQL_PASSWORD # https://docs.yugabyte.com/preview/reference/configuration/yugabyted/ @@ -854,7 +857,7 @@ test-polardb: test-pg.el test-materialize: test-pg.el ${DOCKER} run --rm --name materialize \ --pull=newer \ - --publish 6875:6875 \ + --publish 127.0.0.1:6875:6875 \ -d docker.io/materialize/materialized:latest sleep 10 PGURI=postgresql://materialize@127.0.0.1:6875/materialize $(MAKE) test @@ -914,7 +917,7 @@ test-immudb: test-pg.el test-greenplum: test-pg.el ${DOCKER} run --rm --name greenplum \ --pull=newer \ - --publish 5433:5432 \ + --publish 127.0.0.1:5433:5432 \ -e PGPORT=5433 \ -d docker.io/andruche/greenplum:7 sleep 10 @@ -925,9 +928,11 @@ test-greenplum: test-pg.el # The Cloudberry fork of Greenplum, incubated at Apache. # https://github.com/apache/cloudberry/ # https://hub.docker.com/r/apache/incubator-cloudberry/ +# +# No prebuilt Docker image seems to be available. test-cloudberry: test-pg.el ${DOCKER} run --rm --name cloudberry \ - --publish 5661:5661 \ + --publish 127.0.0.1:5661:5661 \ -h cdw -e PGPORT=5661 \ -d docker.io/apache/incubator-cloudberry:cbdb-test-rocky9-latest sleep 5 @@ -977,10 +982,11 @@ test-ydb: test-pg.el ${DOCKER} stop ydb -# Very limited PostgreSQL support: there is no pg_type table -# so we can't retrieve information regarding the OID of builtin types. We have to be careful during -# the initialization sequence not to send the query "SET datestyle = 'ISO'", which would fail and cause -# the network connection to be reset (!). +# Very limited PostgreSQL support: there is no pg_type table so we can't retrieve information +# regarding the OID of builtin types. We have to be careful during the initialization sequence not +# to send the query "SET datestyle = 'ISO'", which would fail and cause the network connection to be +# reset (!). +# # Default values for config.xml file at # https://github.com/ClickHouse/ClickHouse/blob/c7996d54536492ebd4f436672e466464e8474ff9/programs/server/config.xml test-clickhouse: test-pg.el @@ -1001,20 +1007,29 @@ test-clickhouse: test-pg.el ${DOCKER} stop clickhouse -# https://github.com/timeplus-io/proton +# https://github.com/timeplus-io/proton (Apache 2 licence) + +# This stream processing database is built on ClickHouse and suffers from the same defects as it. +# +# We are currently not detecting it as a dedicated variant. Perhaps could query information_schema.schemata +# or if we have a table system.crash_log it could be assumed to be ClickHouse derived. # -# Apparently this database is supposed to have PostgreSQL wire protocol support, but it doesn't seem -# to be a priority as it hasn't worked for over a year -# (https://github.com/timeplus-io/proton/issues/824) +# See https://github.com/timeplus-io/proton/blob/a67dc38f072ca7ff663bd56c285983426ab4b169/docker/server/entrypoint.sh#L52 # -# Alternative container image: ghcr.io/timeplus-io/proton:develop +# -e PROTON_USER=pgeltestuser +# -e PROTON_DB=pgeltestdb +# -e PROTON_PASSWORD=pgeltest test-proton: test-pg.el + cp proton-users.yaml /tmp ${DOCKER} run --rm --name proton \ --pull=newer \ - --publish 8123:8123 --publish 8463:8463 \ - -d d.timeplus.com/timeplus-io/proton:latest + --publish 127.0.0.1:5113:5432 --publish 127.0.0.1:8123:8123 \ + -e TELEMETRY_ENABLED=false \ + -v /tmp/proton-users.yaml:/etc/proton-server/users.yaml \ + ghcr.io/timeplus-io/proton:latest sleep 5 - PGURI=postgresql://default@localhost:8463/default $(MAKE) test + PGURI=postgresql://pgeltestuser:pgeltest@localhost:5113/default $(MAKE) test + # https://docs.greptime.com/getting-started/installation/greptimedb-standalone