Skip to content
Merged
Show file tree
Hide file tree
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions ansible/vars.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,9 @@ postgres_major:

# Full version strings for each major version
postgres_release:
postgresorioledb-17: 17.5.1.032-orioledb
postgres17: 17.6.1.011
postgres15: 15.14.1.011
postgresorioledb-17: 17.5.1.033-orioledb
postgres17: 17.6.1.012
postgres15: 15.14.1.012

# Non Postgres Extensions
pgbouncer_release: 1.19.0
Expand Down
14 changes: 8 additions & 6 deletions nix/ext/pgsql-http.nix
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,8 @@ let
version: hash:
stdenv.mkDerivation rec {
inherit pname version;
# Use major.minor version for filenames (e.g., 1.5 instead of 1.5.0)
fileVersion = lib.versions.majorMinor version;

buildInputs = [
curl
Expand All @@ -49,22 +51,22 @@ let
mkdir -p $out/{lib,share/postgresql/extension}

# Install versioned library
install -Dm755 ${pname}${postgresql.dlSuffix} $out/lib/${pname}--${version}${postgresql.dlSuffix}
install -Dm755 ${pname}${postgresql.dlSuffix} $out/lib/${pname}--${fileVersion}${postgresql.dlSuffix}

cp ${pname}--${version}.sql $out/share/postgresql/extension/${pname}--${version}.sql
cp ${pname}--${fileVersion}.sql $out/share/postgresql/extension/${pname}--${fileVersion}.sql

# Create versioned control file with modified module path
sed -e "/^default_version =/d" \
-e "s|^module_pathname = .*|module_pathname = '\$libdir/${pname}'|" \
${pname}.control > $out/share/postgresql/extension/${pname}--${version}.control
${pname}.control > $out/share/postgresql/extension/${pname}--${fileVersion}.control

# For the latest version, create default control file and symlink and copy SQL upgrade scripts
if [[ "${version}" == "${latestVersion}" ]]; then
{
echo "default_version = '${version}'"
cat $out/share/postgresql/extension/${pname}--${version}.control
echo "default_version = '${fileVersion}'"
cat $out/share/postgresql/extension/${pname}--${fileVersion}.control
} > $out/share/postgresql/extension/${pname}.control
ln -sfn ${pname}--${latestVersion}${postgresql.dlSuffix} $out/lib/${pname}${postgresql.dlSuffix}
ln -sfn ${pname}--${fileVersion}${postgresql.dlSuffix} $out/lib/${pname}${postgresql.dlSuffix}
cp *.sql $out/share/postgresql/extension
fi

Expand Down
6 changes: 4 additions & 2 deletions nix/ext/tests/http.nix
Original file line number Diff line number Diff line change
Expand Up @@ -103,11 +103,13 @@ self.inputs.nixpkgs.lib.nixos.runTest {
{ nodes, ... }:
let
pg17-configuration = "${nodes.server.system.build.toplevel}/specialisation/postgresql17";
# Convert versions to major.minor format (e.g., "1.5.0" -> "1.5")
toMajorMinor = map (v: lib.versions.majorMinor v);
in
''
versions = {
"15": [${lib.concatStringsSep ", " (map (s: ''"${s}"'') (versions "15"))}],
"17": [${lib.concatStringsSep ", " (map (s: ''"${s}"'') (versions "17"))}],
"15": [${lib.concatStringsSep ", " (map (s: ''"${s}"'') (toMajorMinor (versions "15")))}],
"17": [${lib.concatStringsSep ", " (map (s: ''"${s}"'') (toMajorMinor (versions "17")))}],
}

def run_sql(query):
Expand Down
2 changes: 1 addition & 1 deletion nix/ext/versions.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"http": {
"1.5": {
"1.5.0": {
"postgresql": [
"15"
],
Expand Down
Loading