From b7103186befa8c3cebbeecb16c698b075fbf5976 Mon Sep 17 00:00:00 2001 From: Seth Samuel Date: Wed, 1 Jul 2026 15:44:04 -0400 Subject: [PATCH 1/4] Add handling for explicit Postgres image tag for testing --- postgres/hatch.toml | 6 ++++-- postgres/tests/common.py | 7 ++++++- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/postgres/hatch.toml b/postgres/hatch.toml index 43ac1d1319b3c..94d67668ed8c4 100644 --- a/postgres/hatch.toml +++ b/postgres/hatch.toml @@ -12,14 +12,14 @@ mypy-deps = [ [[envs.default.matrix]] python = ["3.13"] -version = ["9.6", "10.0", "11.0", "12.17", "13.0", "14.0", "15.0", "16.0", "17.0", "18.0"] +version = ["9.6", "10.0", "11.0", "12.17", "13.0", "14.0", "15.0", "16.0", "17.0", "18.0", "19.0"] locale = ["UTF8"] # We only support SQLASCII encoding in 10+ [[envs.default.matrix]] python = ["3.13"] -version = ["10.0", "11.0", "12.17", "13.0", "14.0", "15.0", "16.0", "17.0", "18.0"] +version = ["10.0", "11.0", "12.17", "13.0", "14.0", "15.0", "16.0", "17.0", "18.0", "19.0"] locale = ["C"] [envs.default.overrides] @@ -33,6 +33,8 @@ matrix.version.env-vars = [ { key = "POSTGRES_VERSION", value = "16", if = ["16.0"] }, { key = "POSTGRES_VERSION", value = "17", if = ["17.0"] }, { key = "POSTGRES_VERSION", value = "18", if = ["18.0"] }, + { key = "POSTGRES_VERSION", value = "19", if = ["19.0"] }, + { key = "POSTGRES_IMAGE_TAG", value = "19beta1", if = ["19.0"] }, ] matrix.locale.env-vars = [ { key = "POSTGRES_LOCALE", value = "C", if = ["C"] }, diff --git a/postgres/tests/common.py b/postgres/tests/common.py index a2cb1e1c67734..fe4543a83650e 100644 --- a/postgres/tests/common.py +++ b/postgres/tests/common.py @@ -46,13 +46,18 @@ POSTGRES_VERSION = os.environ.get('POSTGRES_VERSION', None) POSTGRES_IMAGE = "alpine" POSTGRES_LOCALE = os.environ.get('POSTGRES_LOCALE', "UTF8") +POSTGRES_IMAGE_TAG = os.environ.get('POSTGRES_IMAGE_TAG', None) REPLICA_CONTAINER_1_NAME = 'compose-postgres_replica-1' REPLICA_CONTAINER_2_NAME = 'compose-postgres_replica2-1' REPLICA_LOGICAL_1_NAME = 'compose-postgres_logical_replica-1' USING_LATEST = False -if POSTGRES_VERSION is not None: +print(f"POSTGRES_IMAGE_TAG: {POSTGRES_IMAGE_TAG}") +print(f"POSTGRES_VERSION: {POSTGRES_VERSION}") +if POSTGRES_IMAGE_TAG is not None: + POSTGRES_IMAGE = POSTGRES_IMAGE_TAG + "-alpine" +elif POSTGRES_VERSION is not None: USING_LATEST = POSTGRES_VERSION.endswith('latest') POSTGRES_IMAGE = POSTGRES_VERSION + "-alpine" From 2766299a9cd8b6edd126976db3df0d3266ed5cfc Mon Sep 17 00:00:00 2001 From: Seth Samuel Date: Wed, 1 Jul 2026 15:47:32 -0400 Subject: [PATCH 2/4] Remove 19 --- postgres/hatch.toml | 6 ++---- postgres/tests/common.py | 2 -- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/postgres/hatch.toml b/postgres/hatch.toml index 94d67668ed8c4..43ac1d1319b3c 100644 --- a/postgres/hatch.toml +++ b/postgres/hatch.toml @@ -12,14 +12,14 @@ mypy-deps = [ [[envs.default.matrix]] python = ["3.13"] -version = ["9.6", "10.0", "11.0", "12.17", "13.0", "14.0", "15.0", "16.0", "17.0", "18.0", "19.0"] +version = ["9.6", "10.0", "11.0", "12.17", "13.0", "14.0", "15.0", "16.0", "17.0", "18.0"] locale = ["UTF8"] # We only support SQLASCII encoding in 10+ [[envs.default.matrix]] python = ["3.13"] -version = ["10.0", "11.0", "12.17", "13.0", "14.0", "15.0", "16.0", "17.0", "18.0", "19.0"] +version = ["10.0", "11.0", "12.17", "13.0", "14.0", "15.0", "16.0", "17.0", "18.0"] locale = ["C"] [envs.default.overrides] @@ -33,8 +33,6 @@ matrix.version.env-vars = [ { key = "POSTGRES_VERSION", value = "16", if = ["16.0"] }, { key = "POSTGRES_VERSION", value = "17", if = ["17.0"] }, { key = "POSTGRES_VERSION", value = "18", if = ["18.0"] }, - { key = "POSTGRES_VERSION", value = "19", if = ["19.0"] }, - { key = "POSTGRES_IMAGE_TAG", value = "19beta1", if = ["19.0"] }, ] matrix.locale.env-vars = [ { key = "POSTGRES_LOCALE", value = "C", if = ["C"] }, diff --git a/postgres/tests/common.py b/postgres/tests/common.py index fe4543a83650e..ac1afb123e7a9 100644 --- a/postgres/tests/common.py +++ b/postgres/tests/common.py @@ -53,8 +53,6 @@ REPLICA_LOGICAL_1_NAME = 'compose-postgres_logical_replica-1' USING_LATEST = False -print(f"POSTGRES_IMAGE_TAG: {POSTGRES_IMAGE_TAG}") -print(f"POSTGRES_VERSION: {POSTGRES_VERSION}") if POSTGRES_IMAGE_TAG is not None: POSTGRES_IMAGE = POSTGRES_IMAGE_TAG + "-alpine" elif POSTGRES_VERSION is not None: From 4d6188b56d109476cc7a3df56cdb203f825db29a Mon Sep 17 00:00:00 2001 From: Seth Samuel Date: Wed, 1 Jul 2026 15:51:35 -0400 Subject: [PATCH 3/4] [DBMON-6804] Add Postgres 19 support Add Postgres 19 (19beta1) to the postgres test matrix, using the POSTGRES_IMAGE_TAG mechanism to pin the beta image while 19 is pre-GA. Co-Authored-By: Claude Opus 4.8 (1M context) --- postgres/hatch.toml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/postgres/hatch.toml b/postgres/hatch.toml index 43ac1d1319b3c..94d67668ed8c4 100644 --- a/postgres/hatch.toml +++ b/postgres/hatch.toml @@ -12,14 +12,14 @@ mypy-deps = [ [[envs.default.matrix]] python = ["3.13"] -version = ["9.6", "10.0", "11.0", "12.17", "13.0", "14.0", "15.0", "16.0", "17.0", "18.0"] +version = ["9.6", "10.0", "11.0", "12.17", "13.0", "14.0", "15.0", "16.0", "17.0", "18.0", "19.0"] locale = ["UTF8"] # We only support SQLASCII encoding in 10+ [[envs.default.matrix]] python = ["3.13"] -version = ["10.0", "11.0", "12.17", "13.0", "14.0", "15.0", "16.0", "17.0", "18.0"] +version = ["10.0", "11.0", "12.17", "13.0", "14.0", "15.0", "16.0", "17.0", "18.0", "19.0"] locale = ["C"] [envs.default.overrides] @@ -33,6 +33,8 @@ matrix.version.env-vars = [ { key = "POSTGRES_VERSION", value = "16", if = ["16.0"] }, { key = "POSTGRES_VERSION", value = "17", if = ["17.0"] }, { key = "POSTGRES_VERSION", value = "18", if = ["18.0"] }, + { key = "POSTGRES_VERSION", value = "19", if = ["19.0"] }, + { key = "POSTGRES_IMAGE_TAG", value = "19beta1", if = ["19.0"] }, ] matrix.locale.env-vars = [ { key = "POSTGRES_LOCALE", value = "C", if = ["C"] }, From 95afc633e8ecbbea2bc99f5f8fb4c8807cca934d Mon Sep 17 00:00:00 2001 From: Seth Samuel Date: Wed, 1 Jul 2026 16:20:23 -0400 Subject: [PATCH 4/4] [DBMON-6804] Add changelog entry for Postgres 19 Co-Authored-By: Claude Opus 4.8 (1M context) --- postgres/changelog.d/24293.added | 1 + 1 file changed, 1 insertion(+) create mode 100644 postgres/changelog.d/24293.added diff --git a/postgres/changelog.d/24293.added b/postgres/changelog.d/24293.added new file mode 100644 index 0000000000000..8b017560f2cbd --- /dev/null +++ b/postgres/changelog.d/24293.added @@ -0,0 +1 @@ +Added support for Postgres 19.