Skip to content

Commit 7d2f6cb

Browse files
committed
Merge remote-tracking branch 'origin' into ansible_cleanups
* origin: refactor(ansible): bring our ansible up to modern ansible-lint standards (#1869) feat: update supautils (#1879) feat: support multiple versions of the plv8 extension (#1676) chore: bump wrappers version 0.5.6 (#1877) feat: support multiple versions of the pg_hashids extension (#1755) fix: covering migrations for wrappers across all versions` (#1876) feat(Nix-flakes): Add pgBackRest flake (#1859) fix: wrappers 0.5.3 missing (#1872)
2 parents 452bce8 + 0a7580b commit 7d2f6cb

30 files changed

+2053
-205
lines changed

Dockerfile-15

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ ARG pg_repack_release=1.4.8
3030
ARG vault_release=0.2.8
3131
ARG groonga_release=12.0.8
3232
ARG pgroonga_release=2.4.0
33-
ARG wrappers_release=0.5.4
33+
ARG wrappers_release=0.5.6
3434
ARG hypopg_release=1.3.1
3535
ARG pgvector_release=0.4.0
3636
ARG pg_tle_release=1.3.2

Dockerfile-17

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ ARG pg_repack_release=1.4.8
3131
ARG vault_release=0.2.8
3232
ARG groonga_release=12.0.8
3333
ARG pgroonga_release=2.4.0
34-
ARG wrappers_release=0.5.4
34+
ARG wrappers_release=0.5.6
3535
ARG hypopg_release=1.3.1
3636
ARG pgvector_release=0.4.0
3737
ARG pg_tle_release=1.3.2

Dockerfile-orioledb-17

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ ARG pg_repack_release=1.4.8
3131
ARG vault_release=0.2.8
3232
ARG groonga_release=12.0.8
3333
ARG pgroonga_release=2.4.0
34-
ARG wrappers_release=0.5.4
34+
ARG wrappers_release=0.5.6
3535
ARG hypopg_release=1.3.1
3636
ARG pgvector_release=0.4.0
3737
ARG pg_tle_release=1.3.2

ansible/files/postgresql_config/supautils.conf.j2

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,3 +13,4 @@ supautils.privileged_role = 'postgres'
1313
supautils.privileged_role_allowed_configs = 'auto_explain.*, log_lock_waits, log_min_duration_statement, log_min_messages, log_replication_commands, log_statement, log_temp_files, pg_net.batch_size, pg_net.ttl, pg_stat_statements.*, pgaudit.log, pgaudit.log_catalog, pgaudit.log_client, pgaudit.log_level, pgaudit.log_relation, pgaudit.log_rows, pgaudit.log_statement, pgaudit.log_statement_once, pgaudit.role, pgrst.*, plan_filter.*, safeupdate.enabled, session_replication_role, track_io_timing, wal_compression'
1414
supautils.reserved_memberships = 'pg_read_server_files, pg_write_server_files, pg_execute_server_program, supabase_admin, supabase_auth_admin, supabase_storage_admin, supabase_read_only_user, supabase_realtime_admin, supabase_replication_admin, supabase_etl_admin, dashboard_user, pgbouncer, authenticator'
1515
supautils.reserved_roles = 'supabase_admin, supabase_auth_admin, supabase_storage_admin, supabase_read_only_user, supabase_realtime_admin, supabase_replication_admin, supabase_etl_admin, dashboard_user, pgbouncer, service_role*, authenticator*, authenticated*, anon*'
16+
supautils.disable_program = 'true'

ansible/vars.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,9 @@ postgres_major:
1010

1111
# Full version strings for each major version
1212
postgres_release:
13-
postgresorioledb-17: "17.5.1.050-orioledb"
14-
postgres17: "17.6.1.029"
15-
postgres15: "15.14.1.029"
13+
postgresorioledb-17: "17.5.1.056-orioledb"
14+
postgres17: "17.6.1.035"
15+
postgres15: "15.14.1.035"
1616

1717
# Non Postgres Extensions
1818
pgbouncer_release: 1.19.0

flake.lock

Lines changed: 17 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

flake.nix

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
git-hooks.url = "github:cachix/git-hooks.nix";
2020
git-hooks.inputs.nixpkgs.follows = "nixpkgs";
2121
nixpkgs-go124.url = "github:Nixos/nixpkgs/d2ac4dfa61fba987a84a0a81555da57ae0b9a2b0";
22+
nixpkgs-pgbackrest.url = "github:nixos/nixpkgs/nixos-unstable-small";
2223
};
2324

2425
outputs =

nix/ext/pg_hashids.nix

Lines changed: 86 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -3,33 +3,99 @@
33
stdenv,
44
fetchFromGitHub,
55
postgresql,
6+
buildEnv,
67
}:
7-
8-
stdenv.mkDerivation rec {
8+
let
99
pname = "pg_hashids";
10-
version = "cd0e1b31d52b394a0df64079406a14a4f7387cd6";
10+
build =
11+
version: hash: revision:
12+
stdenv.mkDerivation rec {
13+
inherit pname version;
1114

12-
buildInputs = [ postgresql ];
15+
buildInputs = [ postgresql ];
1316

14-
src = fetchFromGitHub {
15-
owner = "iCyberon";
16-
repo = pname;
17-
rev = "${version}";
18-
hash = "sha256-Nmb7XLqQflYZfqj0yrewfb1Hl5YgEB5wfjBunPwIuOU=";
19-
};
17+
src = fetchFromGitHub {
18+
owner = "iCyberon";
19+
repo = pname;
20+
rev = revision;
21+
inherit hash;
22+
};
23+
24+
installPhase = ''
25+
mkdir -p $out/{lib,share/postgresql/extension}
26+
27+
mv ${pname}${postgresql.dlSuffix} $out/lib/${pname}-${version}${postgresql.dlSuffix}
28+
29+
create_sql_files() {
30+
if test -f ${pname}--${version}.sql; then
31+
cp ${pname}--${version}.sql $out/share/postgresql/extension
32+
fi
33+
echo "Creating SQL files for previous versions..."
34+
if [[ "${version}" == "${latestVersion}" ]]; then
35+
cp *.sql $out/share/postgresql/extension
36+
37+
# anything after 1.2.1 is unreleased
38+
cp pg_hashids--1.3.sql $out/share/postgresql/extension/pg_hashids--${version}.sql
39+
cp pg_hashids--1.2.1--1.3.sql $out/share/postgresql/extension/pg_hashids--1.2.1--${version}.sql
40+
fi
41+
}
42+
43+
create_control_files() {
44+
sed -e "/^default_version =/d" \
45+
-e "s|^module_pathname = .*|module_pathname = '\$libdir/${pname}'|" \
46+
${pname}.control > $out/share/postgresql/extension/${pname}--${version}.control
47+
48+
if [[ "${version}" == "${latestVersion}" ]]; then
49+
{
50+
echo "default_version = '${latestVersion}'"
51+
cat $out/share/postgresql/extension/${pname}--${latestVersion}.control
52+
} > $out/share/postgresql/extension/${pname}.control
53+
ln -sfn ${pname}-${latestVersion}${postgresql.dlSuffix} $out/lib/${pname}${postgresql.dlSuffix}
54+
fi
55+
}
2056
21-
installPhase = ''
22-
mkdir -p $out/{lib,share/postgresql/extension}
57+
create_sql_files
58+
create_control_files
59+
'';
2360

24-
cp *${postgresql.dlSuffix} $out/lib
25-
cp *.sql $out/share/postgresql/extension
26-
cp *.control $out/share/postgresql/extension
61+
meta = with lib; {
62+
description = "Generate short unique IDs in PostgreSQL";
63+
homepage = "https://github.com/iCyberon/pg_hashids";
64+
license = licenses.postgresql;
65+
inherit (postgresql.meta) platforms;
66+
};
67+
};
68+
allVersions = (builtins.fromJSON (builtins.readFile ./versions.json)).pg_hashids;
69+
supportedVersions = lib.filterAttrs (
70+
_: value: builtins.elem (lib.versions.major postgresql.version) value.postgresql
71+
) allVersions;
72+
versions = lib.naturalSort (lib.attrNames supportedVersions);
73+
latestVersion = lib.last versions;
74+
numberOfVersions = builtins.length versions;
75+
packages = builtins.attrValues (
76+
lib.mapAttrs (name: value: build name value.hash (value.revision or name)) supportedVersions
77+
);
78+
in
79+
buildEnv {
80+
name = pname;
81+
paths = packages;
82+
pathsToLink = [
83+
"/lib"
84+
"/share/postgresql/extension"
85+
];
86+
postBuild = ''
87+
# checks
88+
(set -x
89+
test "$(ls -A $out/lib/${pname}*${postgresql.dlSuffix} | wc -l)" = "${
90+
toString (numberOfVersions + 1)
91+
}"
92+
)
2793
'';
2894

29-
meta = with lib; {
30-
description = "Generate short unique IDs in PostgreSQL";
31-
homepage = "https://github.com/iCyberon/pg_hashids";
32-
platforms = postgresql.meta.platforms;
33-
license = licenses.postgresql;
95+
passthru = {
96+
inherit versions numberOfVersions;
97+
pname = "${pname}-all";
98+
version =
99+
"multi-" + lib.concatStringsSep "-" (map (v: lib.replaceStrings [ "." ] [ "-" ] v) versions);
34100
};
35101
}

nix/ext/plv8.nix

Lines changed: 0 additions & 160 deletions
This file was deleted.

0 commit comments

Comments
 (0)