Skip to content

Commit 539d91a

Browse files
committed
fix: needed session_preload_libraries = 'supautils' in conf
1 parent c4f101a commit 539d91a

File tree

3 files changed

+33
-22
lines changed

3 files changed

+33
-22
lines changed

flake.nix

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -300,19 +300,24 @@
300300
name = "pg_ident.conf";
301301
path = ./ansible/files/postgresql_config/pg_ident.conf.j2;
302302
};
303+
postgresqlExtensionCustomScriptsPath = builtins.path {
304+
name = "extension-custom-scripts";
305+
path = ./ansible/files/postgresql_extension_custom_scripts;
306+
};
303307
getkeyScript = ./nix/tests/util/pgsodium_getkey.sh;
304308
localeArchive = if pkgs.stdenv.isDarwin
305309
then "${pkgs.darwin.locale}/share/locale"
306310
else "${pkgs.glibcLocales}/lib/locale/locale-archive";
307311
in
308312
pkgs.runCommand "start-postgres-server" { } ''
309-
mkdir -p $out/bin $out/etc/postgresql-custom $out/etc/postgresql
313+
mkdir -p $out/bin $out/etc/postgresql-custom $out/etc/postgresql $out/extension-custom-scripts
310314
cp ${supautilsConfigFile} $out/etc/postgresql-custom/supautils.conf || { echo "Failed to copy supautils.conf"; exit 1; }
311315
cp ${pgconfigFile} $out/etc/postgresql/postgresql.conf || { echo "Failed to copy postgresql.conf"; exit 1; }
312316
cp ${loggingConfigFile} $out/etc/postgresql-custom/logging.conf || { echo "Failed to copy logging.conf"; exit 1; }
313317
cp ${readReplicaConfigFile} $out/etc/postgresql-custom/read-replica.conf || { echo "Failed to copy read-replica.conf"; exit 1; }
314318
cp ${pgHbaConfigFile} $out/etc/postgresql/pg_hba.conf || { echo "Failed to copy pg_hba.conf"; exit 1; }
315319
cp ${pgIdentConfigFile} $out/etc/postgresql/pg_ident.conf || { echo "Failed to copy pg_ident.conf"; exit 1; }
320+
cp -r ${postgresqlExtensionCustomScriptsPath}/* $out/extension-custom-scripts/ || { echo "Failed to copy custom scripts"; exit 1; }
316321
echo "Copy operation completed"
317322
chmod 644 $out/etc/postgresql-custom/supautils.conf
318323
chmod 644 $out/etc/postgresql/postgresql.conf
@@ -329,7 +334,8 @@
329334
--subst-var-by 'SUPAUTILS_CONF_FILE' "$out/etc/postgresql-custom/supautils.conf" \
330335
--subst-var-by 'PG_HBA' "$out/etc/postgresql/pg_hba.conf" \
331336
--subst-var-by 'PG_IDENT' "$out/etc/postgresql/pg_ident.conf" \
332-
--subst-var-by 'LOCALES' '${localeArchive}'
337+
--subst-var-by 'LOCALES' '${localeArchive}' \
338+
--subst-var-by 'EXTENSION_CUSTOM_SCRIPTS_DIR' "$out/extension-custom-scripts"
333339
334340
chmod +x $out/bin/start-postgres-server
335341
'';

nix/tools/run-client.sh.in

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,13 +35,13 @@ psql -v ON_ERROR_STOP=1 --no-password --no-psqlrc -U "$PGSQL_SUPERUSER" -p "$POR
3535
create role postgres superuser login password '$PGPASSWORD';
3636
alter database postgres owner to postgres;
3737
EOSQL
38-
psql -v ON_ERROR_STOP=1 --no-password --no-psqlrc -U postgres -p "$PORTNO" -h localhost -d postgres -f "$PGBOUNCER_AUTH_SCHEMA_SQL"
39-
psql -v ON_ERROR_STOP=1 --no-password --no-psqlrc -U postgres -p "$PORTNO" -h localhost -d postgres -f "$STAT_EXTENSION_SQL"
4038
for sql in "$MIGRATIONS_DIR"/init-scripts/*.sql; do
4139
echo "$0: running $sql"
4240
psql -v ON_ERROR_STOP=1 --no-password --no-psqlrc -U postgres -p "$PORTNO" -h localhost -f "$sql" postgres
4341
done
4442
psql -v ON_ERROR_STOP=1 --no-password --no-psqlrc -U postgres -p "$PORTNO" -h localhost -c "ALTER USER supabase_admin WITH PASSWORD '$PGPASSWORD'"
43+
psql -v ON_ERROR_STOP=1 --no-password --no-psqlrc -U postgres -p "$PORTNO" -h localhost -d postgres -f "$PGBOUNCER_AUTH_SCHEMA_SQL"
44+
psql -v ON_ERROR_STOP=1 --no-password --no-psqlrc -U postgres -p "$PORTNO" -h localhost -d postgres -f "$STAT_EXTENSION_SQL"
4545
# run migrations as super user - postgres user demoted in post-setup
4646
for sql in "$MIGRATIONS_DIR"/migrations/*.sql; do
4747
echo "$0: running $sql"

nix/tools/run-server.sh.in

Lines changed: 23 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
#!/usr/bin/env bash
22
# shellcheck shell=bash
3-
43
[ ! -z "$DEBUG" ] && set -x
5-
64
# first argument should be '15' or '16' for the version
75
if [ "$1" == "15" ]; then
86
echo "Starting server for PSQL 15"
@@ -20,9 +18,7 @@ else
2018
echo "Please provide a valid Postgres version (15, 16 or orioledb-16)"
2119
exit 1
2220
fi
23-
2421
export PATH=$BINDIR/bin:$PATH
25-
2622
PGSQL_SUPERUSER=@PGSQL_SUPERUSER@
2723
PSQL_CONF_FILE=@PSQL_CONF_FILE@
2824
PGSODIUM_GETKEY_SCRIPT=@PGSODIUM_GETKEY@
@@ -32,6 +28,7 @@ LOGGING_CONFIG_FILE=@LOGGING_CONF_FILE@
3228
READREPL_CONFIG_FILE=@READREPL_CONF_FILE@
3329
PG_HBA_FILE=@PG_HBA@
3430
PG_IDENT_FILE=@PG_IDENT@
31+
EXTENSION_CUSTOM_SCRIPTS=@EXTENSION_CUSTOM_SCRIPTS_DIR@
3532
DATDIR=$(mktemp -d)
3633
LOCALE_ARCHIVE=@LOCALES@
3734
export LOCALE_ARCHIVE
@@ -41,22 +38,30 @@ export LC_ALL=en_US.UTF-8
4138
export LANG=en_US.UTF-8
4239
export LC_CTYPE=en_US.UTF-8
4340
mkdir -p "$DATDIR"
44-
4541
echo "NOTE: using port $PORTNO for server"
4642
echo "NOTE: using temporary directory $DATDIR for data, which will not be removed"
4743
echo "NOTE: you are free to re-use this data directory at will"
48-
4944
initdb -U "$PGSQL_SUPERUSER" -D "$DATDIR"
50-
5145
echo "NOTE: patching postgresql.conf files"
52-
53-
sed -e "\$a\\
54-
include = '$SUPAUTILS_CONFIG_FILE' \\
55-
pgsodium.getkey_script = '$PGSODIUM_GETKEY_SCRIPT'" \
56-
-e "s|data_directory = '/var/lib/postgresql/data'|data_directory = '$DATDIR'|" \
57-
-e "s|hba_file = '/etc/postgresql/pg_hba.conf'|hba_file = '$PG_HBA_FILE'|" \
58-
-e "s|ident_file = '/etc/postgresql/pg_ident.conf'|ident_file = '$PG_IDENT_FILE'|" \
59-
-e "s|include = '/etc/postgresql/logging.conf'|#&|" \
60-
-e "s|include = '/etc/postgresql-custom/read-replica.conf'|include = '$READREPL_CONFIG_FILE'|" \
61-
"$PSQL_CONF_FILE" > "$DATDIR/postgresql.conf"
62-
postgres -p "$PORTNO" -D "$DATDIR" -k /tmp
46+
cp "$PG_HBA_FILE" "$DATDIR/pg_hba.conf"
47+
cp "$PG_IDENT_FILE" "$DATDIR/pg_ident.conf"
48+
cp "$READREPL_CONFIG_FILE" "$DATDIR/read-replica.conf"
49+
cp -r "$EXTENSION_CUSTOM_SCRIPTS" "$DATDIR"
50+
sed "s|supautils.privileged_extensions_custom_scripts_path = '/etc/postgresql-custom/extension-custom-scripts'|supautils.privileged_extensions_custom_scripts_path = '$DATDIR/extension-custom-scripts'|" "$SUPAUTILS_CONFIG_FILE" > "$DATDIR/supautils.conf"
51+
sed -e "1i\\
52+
include = '$DATDIR/supautils.conf'" \
53+
-e "\$a\\
54+
pgsodium.getkey_script = '$PGSODIUM_GETKEY_SCRIPT'" \
55+
-e "s|data_directory = '/var/lib/postgresql/data'|data_directory = '$DATDIR'|" \
56+
-e "s|hba_file = '/etc/postgresql/pg_hba.conf'|hba_file = '$DATDIR/pg_hba.conf'|" \
57+
-e "s|ident_file = '/etc/postgresql/pg_ident.conf'|ident_file = '$DATDIR/pg_ident.conf'|" \
58+
-e "s|include = '/etc/postgresql/logging.conf'|#&|" \
59+
-e "s|include = '/etc/postgresql-custom/read-replica.conf'|include = '$DATDIR/read-replica.conf'|" \
60+
-e "\$a\\
61+
session_preload_libraries = 'supautils'" \
62+
"$PSQL_CONF_FILE" > "$DATDIR/postgresql.conf"
63+
cat "$DATDIR/postgresql.conf"
64+
#cat "$DATDIR/supautils.conf"
65+
#whoami
66+
ls -la $DATDIR
67+
postgres --config-file="$DATDIR/postgresql.conf" -p "$PORTNO" -D "$DATDIR" -k /tmp

0 commit comments

Comments
 (0)