From 794d422363312f6c6d5b09cef76a98d7e6bfee81 Mon Sep 17 00:00:00 2001 From: Diogo Correia Date: Thu, 7 Aug 2025 21:35:23 +0100 Subject: [PATCH 1/2] postgresqlPackages.pg_hll: fix build on pg18 PostgreSQL 18 adds the -Wmissing-variable-declarations flag by default, which makes this build fail. Ignoring this warning allows the build to succeed. --- pkgs/servers/sql/postgresql/ext/pg_hll.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/servers/sql/postgresql/ext/pg_hll.nix b/pkgs/servers/sql/postgresql/ext/pg_hll.nix index e63191a4a85ff..bd3bd7bcdb099 100644 --- a/pkgs/servers/sql/postgresql/ext/pg_hll.nix +++ b/pkgs/servers/sql/postgresql/ext/pg_hll.nix @@ -16,6 +16,9 @@ postgresqlBuildExtension (finalAttrs: { hash = "sha256-Latdxph1Ura8yKEokEjalJ+/GY+pAKOT3GXjuLprj6c="; }; + # https://github.com/citusdata/postgresql-hll/issues/166#issuecomment-3165489050 + NIX_CFLAGS_COMPILE = "-Wno-error=missing-variable-declarations"; + meta = { description = "HyperLogLog for PostgreSQL"; homepage = "https://github.com/citusdata/postgresql-hll"; From 108733a2a258788434c06e883c4e68dceb0dba3c Mon Sep 17 00:00:00 2001 From: Diogo Correia Date: Tue, 29 Jul 2025 15:26:38 +0100 Subject: [PATCH 2/2] postgresql18Packages: mark remaining extensions as broken Those extensions don't support building with PostgreSQL 18, yet. To make sure the broken status is updated on the next upgrade, they all have version checks in the form of an evaluation warning, so that there has be explicit action regarding its PG18 compatibility. --- pkgs/servers/sql/postgresql/ext/citus.nix | 9 ++++++++- pkgs/servers/sql/postgresql/ext/lantern.nix | 5 +++++ pkgs/servers/sql/postgresql/ext/pg_auto_failover.nix | 5 +++++ pkgs/servers/sql/postgresql/ext/pg_bigm.nix | 5 +++++ pkgs/servers/sql/postgresql/ext/pg_cron.nix | 6 ++++++ pkgs/servers/sql/postgresql/ext/pg_ivm.nix | 10 +++++++++- pkgs/servers/sql/postgresql/ext/pg_tle.nix | 5 +++++ pkgs/servers/sql/postgresql/ext/pgroonga.nix | 5 +++++ pkgs/servers/sql/postgresql/ext/pgvector.nix | 6 ++++++ .../sql/postgresql/ext/pgvectorscale/package.nix | 5 +++++ pkgs/servers/sql/postgresql/ext/pgx_ulid.nix | 10 +++++++++- pkgs/servers/sql/postgresql/ext/rum.nix | 5 +++++ pkgs/servers/sql/postgresql/ext/sqlite_fdw.nix | 6 ++++++ pkgs/servers/sql/postgresql/ext/tds_fdw.nix | 5 +++++ pkgs/servers/sql/postgresql/ext/timescaledb.nix | 9 ++++++++- .../servers/sql/postgresql/ext/vectorchord/package.nix | 6 ++++++ 16 files changed, 98 insertions(+), 4 deletions(-) diff --git a/pkgs/servers/sql/postgresql/ext/citus.nix b/pkgs/servers/sql/postgresql/ext/citus.nix index 2b197e70719fc..7dd9874a28216 100644 --- a/pkgs/servers/sql/postgresql/ext/citus.nix +++ b/pkgs/servers/sql/postgresql/ext/citus.nix @@ -66,7 +66,14 @@ postgresqlBuildExtension (finalAttrs: { # "Our soft policy for Postgres version compatibility is to support Citus' # latest release with Postgres' 3 latest releases." # https://www.citusdata.com/updates/v12-0/#deprecated_features - broken = lib.versionOlder postgresql.version "15"; + broken = + lib.versionOlder postgresql.version "15" + || + # PostgreSQL 18 support issue upstream: https://github.com/citusdata/citus/issues/7978 + # Check after next package update. + lib.warnIf (finalAttrs.version != "13.0.3") "Is postgresql18Packages.citus still broken?" ( + lib.versionAtLeast postgresql.version "18" + ); description = "Distributed PostgreSQL as an extension"; homepage = "https://www.citusdata.com/"; changelog = "https://github.com/citusdata/citus/blob/${finalAttrs.src.rev}/CHANGELOG.md"; diff --git a/pkgs/servers/sql/postgresql/ext/lantern.nix b/pkgs/servers/sql/postgresql/ext/lantern.nix index 8cd89a145bde8..449be22a31ec0 100644 --- a/pkgs/servers/sql/postgresql/ext/lantern.nix +++ b/pkgs/servers/sql/postgresql/ext/lantern.nix @@ -51,6 +51,11 @@ postgresqlBuildExtension (finalAttrs: { }; meta = { + # PostgreSQL 18 support issue upstream: https://github.com/lanterndata/lantern/issues/375 + # Check after next package update. + broken = lib.warnIf ( + finalAttrs.version != "0.5.0" + ) "Is postgresql18Packages.lantern still broken?" (lib.versionAtLeast postgresql.version "18"); description = "PostgreSQL vector database extension for building AI applications"; homepage = "https://lantern.dev/"; changelog = "https://github.com/lanterndata/lantern/blob/${finalAttrs.src.rev}/CHANGELOG.md"; diff --git a/pkgs/servers/sql/postgresql/ext/pg_auto_failover.nix b/pkgs/servers/sql/postgresql/ext/pg_auto_failover.nix index 3bf237c88b45f..4cc2eb58e73d9 100644 --- a/pkgs/servers/sql/postgresql/ext/pg_auto_failover.nix +++ b/pkgs/servers/sql/postgresql/ext/pg_auto_failover.nix @@ -19,6 +19,11 @@ postgresqlBuildExtension (finalAttrs: { buildInputs = postgresql.buildInputs; meta = { + # PostgreSQL 18 support issue upstream: https://github.com/hapostgres/pg_auto_failover/issues/1083 + # Check after next package update. + broken = + lib.warnIf (finalAttrs.version != "2.2") "Is postgresql18Packages.pg_auto_failover still broken?" + (lib.versionAtLeast postgresql.version "18"); description = "PostgreSQL extension and service for automated failover and high-availability"; mainProgram = "pg_autoctl"; homepage = "https://github.com/citusdata/pg_auto_failover"; diff --git a/pkgs/servers/sql/postgresql/ext/pg_bigm.nix b/pkgs/servers/sql/postgresql/ext/pg_bigm.nix index 9db198216bb62..f4ed12e2f9026 100644 --- a/pkgs/servers/sql/postgresql/ext/pg_bigm.nix +++ b/pkgs/servers/sql/postgresql/ext/pg_bigm.nix @@ -19,6 +19,11 @@ postgresqlBuildExtension (finalAttrs: { makeFlags = [ "USE_PGXS=1" ]; meta = { + # PostgreSQL 18 support issue upstream: https://github.com/pgbigm/pg_bigm/issues/28 + # Check after next package update. + broken = lib.warnIf ( + finalAttrs.version != "1.2-20240606" + ) "Is postgresql18Packages.pg_bigm still broken?" (lib.versionAtLeast postgresql.version "18"); description = "Text similarity measurement and index searching based on bigrams"; homepage = "https://pgbigm.osdn.jp/"; maintainers = [ ]; diff --git a/pkgs/servers/sql/postgresql/ext/pg_cron.nix b/pkgs/servers/sql/postgresql/ext/pg_cron.nix index 1345dc4b10515..ef019030ddb1e 100644 --- a/pkgs/servers/sql/postgresql/ext/pg_cron.nix +++ b/pkgs/servers/sql/postgresql/ext/pg_cron.nix @@ -17,6 +17,12 @@ postgresqlBuildExtension (finalAttrs: { }; meta = { + # PostgreSQL 18 support issue upstream: https://github.com/citusdata/pg_cron/issues/396 + # Note: already fixed on `main` branch. + # Check after next package update. + broken = lib.warnIf ( + finalAttrs.version != "1.6.5" + ) "Is postgresql18Packages.pg_cron still broken?" (lib.versionAtLeast postgresql.version "18"); description = "Run Cron jobs through PostgreSQL"; homepage = "https://github.com/citusdata/pg_cron"; changelog = "https://github.com/citusdata/pg_cron/releases/tag/v${finalAttrs.version}"; diff --git a/pkgs/servers/sql/postgresql/ext/pg_ivm.nix b/pkgs/servers/sql/postgresql/ext/pg_ivm.nix index 4e2e3c3d3776a..1c57b25024822 100644 --- a/pkgs/servers/sql/postgresql/ext/pg_ivm.nix +++ b/pkgs/servers/sql/postgresql/ext/pg_ivm.nix @@ -23,6 +23,14 @@ postgresqlBuildExtension (finalAttrs: { maintainers = with lib.maintainers; [ ivan ]; platforms = postgresql.meta.platforms; license = lib.licenses.postgresql; - broken = lib.versionOlder postgresql.version "13"; + broken = + lib.versionOlder postgresql.version "13" + || + # PostgreSQL 18 support issue upstream: https://github.com/sraoss/pg_ivm/issues/133 + # Note: already fixed on `main` branch. + # Check after next package update. + lib.warnIf (finalAttrs.version != "1.11") "Is postgresql18Packages.pg_ivm still broken?" ( + lib.versionAtLeast postgresql.version "18" + ); }; }) diff --git a/pkgs/servers/sql/postgresql/ext/pg_tle.nix b/pkgs/servers/sql/postgresql/ext/pg_tle.nix index 20355bc0bda07..ea1fbcbcfe4cb 100644 --- a/pkgs/servers/sql/postgresql/ext/pg_tle.nix +++ b/pkgs/servers/sql/postgresql/ext/pg_tle.nix @@ -19,6 +19,11 @@ postgresqlBuildExtension rec { buildInputs = postgresql.buildInputs; meta = { + # PostgreSQL 18 support issue upstream: https://github.com/aws/pg_tle/issues/302 + # Check after next package update. + broken = lib.warnIf (version != "1.5.1") "Is postgresql18Packages.pg_tle still broken?" ( + lib.versionAtLeast postgresql.version "18" + ); description = "Framework for building trusted language extensions for PostgreSQL"; homepage = "https://github.com/aws/pg_tle"; changelog = "https://github.com/aws/pg_tle/releases/tag/v${version}"; diff --git a/pkgs/servers/sql/postgresql/ext/pgroonga.nix b/pkgs/servers/sql/postgresql/ext/pgroonga.nix index c365aea52bae0..82611345c4182 100644 --- a/pkgs/servers/sql/postgresql/ext/pgroonga.nix +++ b/pkgs/servers/sql/postgresql/ext/pgroonga.nix @@ -34,6 +34,11 @@ postgresqlBuildExtension (finalAttrs: { ]; meta = { + # PostgreSQL 18 support issue upstream: https://github.com/pgroonga/pgroonga/issues/708 + # Check after next package update. + broken = lib.warnIf ( + finalAttrs.version != "4.0.1" + ) "Is postgresql18Packages.pgroonga still broken?" (lib.versionAtLeast postgresql.version "18"); description = "PostgreSQL extension to use Groonga as the index"; longDescription = '' PGroonga is a PostgreSQL extension to use Groonga as the index. diff --git a/pkgs/servers/sql/postgresql/ext/pgvector.nix b/pkgs/servers/sql/postgresql/ext/pgvector.nix index 36789689bae00..3b440e537ffc9 100644 --- a/pkgs/servers/sql/postgresql/ext/pgvector.nix +++ b/pkgs/servers/sql/postgresql/ext/pgvector.nix @@ -17,6 +17,12 @@ postgresqlBuildExtension (finalAttrs: { }; meta = { + # PostgreSQL 18 support issue upstream: https://github.com/pgvector/pgvector/issues/869 + # Note: already fixed on `master` branch. + # Check after next package update. + broken = lib.warnIf ( + finalAttrs.version != "0.8.0" + ) "Is postgresql18Packages.pgvector still broken?" (lib.versionAtLeast postgresql.version "18"); description = "Open-source vector similarity search for PostgreSQL"; homepage = "https://github.com/pgvector/pgvector"; changelog = "https://github.com/pgvector/pgvector/raw/v${finalAttrs.version}/CHANGELOG.md"; diff --git a/pkgs/servers/sql/postgresql/ext/pgvectorscale/package.nix b/pkgs/servers/sql/postgresql/ext/pgvectorscale/package.nix index ffc2f2682d527..8da7420f3bead 100644 --- a/pkgs/servers/sql/postgresql/ext/pgvectorscale/package.nix +++ b/pkgs/servers/sql/postgresql/ext/pgvectorscale/package.nix @@ -65,6 +65,11 @@ buildPgrxExtension (finalAttrs: { }; meta = { + # PostgreSQL 18 support issue upstream: https://github.com/timescale/pgvectorscale/issues/249 + # Check after next package update. + broken = + lib.warnIf (finalAttrs.version != "0.7.0") "Is postgresql18Packages.pgvectorscale still broken?" + (lib.versionAtLeast postgresql.version "18"); homepage = "https://github.com/timescale/pgvectorscale"; teams = [ lib.teams.flyingcircus ]; description = "Complement to pgvector for high performance, cost efficient vector search on large workloads"; diff --git a/pkgs/servers/sql/postgresql/ext/pgx_ulid.nix b/pkgs/servers/sql/postgresql/ext/pgx_ulid.nix index d1a7ed141f969..456d7bca4efa2 100644 --- a/pkgs/servers/sql/postgresql/ext/pgx_ulid.nix +++ b/pkgs/servers/sql/postgresql/ext/pgx_ulid.nix @@ -40,7 +40,15 @@ buildPgrxExtension (finalAttrs: { meta = { # Support for PostgreSQL 13 was removed in 0.2.0: https://github.com/pksunkara/pgx_ulid/blob/084778c3e2af08d16ec5ec3ef4e8f345ba0daa33/CHANGELOG.md?plain=1#L6 - broken = lib.versionOlder postgresql.version "14"; + broken = + lib.versionOlder postgresql.version "14" + || + # PostgreSQL 18 support issue upstream: https://github.com/pksunkara/pgx_ulid/issues/65 + # Note: already fixed on `master` branch. + # Check after next package update. + lib.warnIf (finalAttrs.version != "0.2.0") "Is postgresql18Packages.pgx_ulid still broken?" ( + lib.versionAtLeast postgresql.version "18" + ); description = "ULID Postgres extension written in Rust"; homepage = "https://github.com/pksunkara/pgx_ulid"; changelog = "https://github.com/pksunkara/pgx_ulid/blob/v${finalAttrs.version}/CHANGELOG.md"; diff --git a/pkgs/servers/sql/postgresql/ext/rum.nix b/pkgs/servers/sql/postgresql/ext/rum.nix index bc93ff3b76a66..99f0d336d5257 100644 --- a/pkgs/servers/sql/postgresql/ext/rum.nix +++ b/pkgs/servers/sql/postgresql/ext/rum.nix @@ -29,6 +29,11 @@ postgresqlBuildExtension (finalAttrs: { }; meta = { + # PostgreSQL 18 support issue upstream: https://github.com/postgrespro/rum/issues/156 + # Check after next package update. + broken = lib.warnIf (finalAttrs.version != "1.3.14") "Is postgresql18Packages.rum still broken?" ( + lib.versionAtLeast postgresql.version "18" + ); description = "Full text search index method for PostgreSQL"; homepage = "https://github.com/postgrespro/rum"; license = lib.licenses.postgresql; diff --git a/pkgs/servers/sql/postgresql/ext/sqlite_fdw.nix b/pkgs/servers/sql/postgresql/ext/sqlite_fdw.nix index 1ade4b6e90fad..dd5da727beee7 100644 --- a/pkgs/servers/sql/postgresql/ext/sqlite_fdw.nix +++ b/pkgs/servers/sql/postgresql/ext/sqlite_fdw.nix @@ -22,6 +22,12 @@ postgresqlBuildExtension (finalAttrs: { makeFlags = [ "USE_PGXS=1" ]; meta = { + # PostgreSQL 18 support issue upstream: https://github.com/pgspider/sqlite_fdw/issues/117 + # Note: already fixed on `master` branch. + # Check after next package update. + broken = lib.warnIf ( + finalAttrs.version != "2.5.0" + ) "Is postgresql18Packages.sqlite_fdw still broken?" (lib.versionAtLeast postgresql.version "18"); description = "SQLite Foreign Data Wrapper for PostgreSQL"; homepage = "https://github.com/pgspider/sqlite_fdw"; changelog = "https://github.com/pgspider/sqlite_fdw/releases/tag/v${finalAttrs.version}"; diff --git a/pkgs/servers/sql/postgresql/ext/tds_fdw.nix b/pkgs/servers/sql/postgresql/ext/tds_fdw.nix index e89acc14811ee..f6a4ba6f96070 100644 --- a/pkgs/servers/sql/postgresql/ext/tds_fdw.nix +++ b/pkgs/servers/sql/postgresql/ext/tds_fdw.nix @@ -20,6 +20,11 @@ postgresqlBuildExtension (finalAttrs: { }; meta = { + # PostgreSQL 18 support issue upstream: https://github.com/tds-fdw/tds_fdw/issues/384 + # Check after next package update. + broken = lib.warnIf ( + finalAttrs.version != "2.0.4" + ) "Is postgresql18Packages.tds_fdw still broken?" (lib.versionAtLeast postgresql.version "18"); description = "PostgreSQL foreign data wrapper to connect to TDS databases (Sybase and Microsoft SQL Server)"; homepage = "https://github.com/tds-fdw/tds_fdw"; changelog = "https://github.com/tds-fdw/tds_fdw/releases/tag/v${finalAttrs.version}"; diff --git a/pkgs/servers/sql/postgresql/ext/timescaledb.nix b/pkgs/servers/sql/postgresql/ext/timescaledb.nix index 2fe5cf1715897..ea60aa5168894 100644 --- a/pkgs/servers/sql/postgresql/ext/timescaledb.nix +++ b/pkgs/servers/sql/postgresql/ext/timescaledb.nix @@ -101,6 +101,13 @@ postgresqlBuildExtension (finalAttrs: { maintainers = with lib.maintainers; [ kirillrdy ]; platforms = postgresql.meta.platforms; license = with lib.licenses; if enableUnfree then tsl else asl20; - broken = lib.versionOlder postgresql.version "15"; + broken = + lib.versionOlder postgresql.version "15" + || + # PostgreSQL 18 support issue upstream: https://github.com/timescale/timescaledb/issues/8233 + # Check after next package update. + lib.warnIf (finalAttrs.version != "2.21.1") "Is postgresql18Packages.timescaledb still broken?" ( + lib.versionAtLeast postgresql.version "18" + ); }; }) diff --git a/pkgs/servers/sql/postgresql/ext/vectorchord/package.nix b/pkgs/servers/sql/postgresql/ext/vectorchord/package.nix index 2217c9b0d2753..eeb3bcef1e3e2 100644 --- a/pkgs/servers/sql/postgresql/ext/vectorchord/package.nix +++ b/pkgs/servers/sql/postgresql/ext/vectorchord/package.nix @@ -123,6 +123,12 @@ buildPgrxExtension (finalAttrs: { }; meta = { + # PostgreSQL 18 is not yet supported + # Will be supported in the next release (likely 0.5.0), as it's already supported in the main branch + # Check after next package update. + broken = lib.warnIf ( + finalAttrs.version != "0.4.2" + ) "Is postgresql18Packages.vectorchord still broken?" (lib.versionAtLeast postgresql.version "18"); changelog = "https://github.com/tensorchord/VectorChord/releases/tag/${finalAttrs.version}"; description = "Scalable, fast, and disk-friendly vector search in Postgres, the successor of pgvecto.rs"; homepage = "https://github.com/tensorchord/VectorChord";