From e3085a44baafb3461b052758a570b8df6b63192c Mon Sep 17 00:00:00 2001 From: Dan Sosedoff Date: Tue, 11 Nov 2025 11:30:42 -0800 Subject: [PATCH] Add PostgreSQL 18 support to Github Actions (#816) * Run against PostgreSQL 18 * Handle constraints for pg18 * Bump golangci-linter to 1.62.2 (#772) * Bump golangci-linter to 1.62.2 * Address linting warning via change or ignore --- .github/workflows/checks.yml | 4 ++-- docker-compose-pg.yml | 12 ++++++++++-- pkg/statements/sql/table_constraints.sql | 1 + 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/.github/workflows/checks.yml b/.github/workflows/checks.yml index a627bf9..687eb43 100644 --- a/.github/workflows/checks.yml +++ b/.github/workflows/checks.yml @@ -28,7 +28,7 @@ jobs: timeout-minutes: 40 strategy: matrix: - pg_version: [9.6, 10, 11, 12, 13, 14, 15, 16, 17] + pg_version: [9.6, 10, 11, 12, 13, 14, 15, 16, 17, 18] services: postgres: @@ -50,7 +50,7 @@ jobs: sudo rm -f /etc/apt/sources.list.d/pgdg.list curl --silent https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add echo "deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main" | sudo tee /etc/apt/sources.list.d/pgdg.list - sudo apt-get update && sudo apt-get install -y postgresql-client-17 + sudo apt-get update && sudo apt-get install -y postgresql-client-18 - uses: actions/checkout@v3 with: diff --git a/docker-compose-pg.yml b/docker-compose-pg.yml index dcde6ad..a3677dd 100644 --- a/docker-compose-pg.yml +++ b/docker-compose-pg.yml @@ -1,6 +1,4 @@ --- -version: "3.9" - x-base: &base environment: &env POSTGRES_DB: pgweb @@ -11,6 +9,16 @@ x-base: &base interval: 5s services: + postgres18: + <<: *base + image: postgres:18 + ports: + - 5433:5432 + postgres17: + <<: *base + image: postgres:17 + ports: + - 5433:5432 postgres16: <<: *base image: postgres:16 diff --git a/pkg/statements/sql/table_constraints.sql b/pkg/statements/sql/table_constraints.sql index 39931af..c35c890 100644 --- a/pkg/statements/sql/table_constraints.sql +++ b/pkg/statements/sql/table_constraints.sql @@ -10,5 +10,6 @@ JOIN WHERE n.nspname = $1 AND relname = $2 + AND contype != 'n' ORDER BY contype DESC