supabase-postgres.git / summary / log / commit / refs
commit 7db7e1a9e34b9ffb9b0e3372ccf08eb4fa772f4b
Author: samrose <samuel.rose@gmail.com>
Commit: GitHub <noreply@github.com>
Date: Thu Oct 24 03:34:36 2024 +0000
feat: tmp disable pg_net on macos and allow for server start on macos (#1289)
Co-authored-by: Sam Rose <samuel@supabase.io>
flake.nix | 13 ++++++++++---
nix/tools/run-server.sh.in | 7 +++++++
2 files changed, 17 insertions(+), 3 deletions(-)
diff --git a/flake.nix b/flake.nix
index 1cef2669..3014f903 100644
--- a/flake.nix
+++ b/flake.nix
@@ -128,7 +128,8 @@
# use, but even if they did, keeping our own copies means that we can
# rollout new versions of these critical things easier without having to
# go through the upstream release engineering process.
- ourExtensions = [
+ ourExtensions = let
+ baseExtensions = [
./nix/ext/rum.nix
./nix/ext/timescaledb.nix
./nix/ext/pgroonga.nix
@@ -147,7 +148,6 @@
./nix/ext/pg_cron.nix
./nix/ext/pgsql-http.nix
./nix/ext/pg_plan_filter.nix
- ./nix/ext/pg_net.nix
./nix/ext/pg_hashids.nix
./nix/ext/pgsodium.nix
./nix/ext/pg_graphql.nix
@@ -162,7 +162,13 @@
./nix/ext/supautils.nix
./nix/ext/plv8.nix
];
+
+ # Add pg_net only if NOT on macOS aarch64
+ pgNetExtension = if (system == "aarch64-darwin")
+ then []
+ else [ ./nix/ext/pg_net.nix ];
+ in baseExtensions ++ pgNetExtension;
#Where we import and build the orioledb extension, we add on our custom extensions
# plus the orioledb option
orioledbExtension = ourExtensions ++ [ ./nix/ext/orioledb.nix ];
@@ -462,7 +468,8 @@
--subst-var-by 'LOCALES' '${localeArchive}' \
--subst-var-by 'EXTENSION_CUSTOM_SCRIPTS_DIR' "$out/extension-custom-scripts" \
--subst-var-by 'MECAB_LIB' '${basePackages.psql_15.exts.pgroonga}/lib/groonga/plugins/tokenizers/tokenizer_mecab.so' \
- --subst-var-by 'GROONGA_DIR' '${supabase-groonga}'
+ --subst-var-by 'GROONGA_DIR' '${supabase-groonga}' \
+ --subst-var-by 'CURRENT_SYSTEM' '${system}'
chmod +x $out/bin/start-postgres-server
'';
diff --git a/nix/tools/run-server.sh.in b/nix/tools/run-server.sh.in
index 977a437f..2552ebcd 100644
--- a/nix/tools/run-server.sh.in
+++ b/nix/tools/run-server.sh.in
@@ -32,12 +32,14 @@ EXTENSION_CUSTOM_SCRIPTS=@EXTENSION_CUSTOM_SCRIPTS_DIR@
GROONGA=@GROONGA_DIR@
DATDIR=$(mktemp -d)
LOCALE_ARCHIVE=@LOCALES@
+CURRENT_SYSTEM=@CURRENT_SYSTEM@
export LOCALE_ARCHIVE
export LANG=en_US.UTF-8
export LANGUAGE=en_US.UTF-8
export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
export LC_CTYPE=en_US.UTF-8
+echo "Current system is $CURRENT_SYSTEM"
mkdir -p "$DATDIR"
echo "NOTE: using port $PORTNO for server"
echo "NOTE: using temporary directory $DATDIR for data, which will not be removed"
@@ -61,5 +63,10 @@ pgsodium.getkey_script = '$PGSODIUM_GETKEY_SCRIPT'" \
-e "\$a\\
session_preload_libraries = 'supautils'" \
"$PSQL_CONF_FILE" > "$DATDIR/postgresql.conf"
+if [ "$CURRENT_SYSTEM" = "aarch64-darwin" ]; then
+ echo "NOTE: using aarch64-darwin system"
+ sed -i '' 's/ pg_net,//g' "$DATDIR/postgresql.conf"
+ sed -i '' 's/ pg_net,//g' "$DATDIR/supautils.conf"
+fi
export GRN_PLUGINS_DIR=$GROONGA/lib/groonga/plugins
postgres --config-file="$DATDIR/postgresql.conf" -p "$PORTNO" -D "$DATDIR" -k /tmp
[parent: d7902e50b24e]