Skip to content
Merged
Show file tree
Hide file tree
Changes from all 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
4 changes: 2 additions & 2 deletions nix/ext/versions.json
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
{
"http": {
"1.5": {
"1.5.0": {
"postgresql": [
"15"
],
"hash": "sha256-+N/CXm4arRgvhglanfvO0FNOBUWV5RL8mn/9FpNvcjY="
},
"1.6": {
"1.6.1": {
"postgresql": [
"15",
"17"
Expand Down