@@ -43,8 +43,8 @@ POST_UPGRADE_EXTENSION_SCRIPT="/tmp/pg_upgrade/pg_upgrade_extensions.sql"
43
43
POST_UPGRADE_POSTGRES_PERMS_SCRIPT=" /tmp/pg_upgrade/pg_upgrade_postgres_perms.sql"
44
44
OLD_PGVERSION=$( run_sql -A -t -c " SHOW server_version;" )
45
45
46
- # Skip locale settings if both versions are PostgreSQL 17 +
47
- if ! [[ " $OLD_PGVERSION " =~ ^17. * && " $PGVERSION " =~ ^17. * ]]; then
46
+ # Skip locale settings if both versions are PostgreSQL 16 +
47
+ if ! [[ " ${ OLD_PGVERSION%% . * } " -ge 16 && " ${ PGVERSION%% . * } " -ge 16 ]]; then
48
48
SERVER_LC_COLLATE=$( run_sql -A -t -c " SHOW lc_collate;" )
49
49
SERVER_LC_CTYPE=$( run_sql -A -t -c " SHOW lc_ctype;" )
50
50
fi
@@ -403,7 +403,7 @@ function initiate_upgrade {
403
403
rm -rf " ${PGDATANEW:? } /"
404
404
405
405
if [ " $IS_NIX_UPGRADE " = " true" ]; then
406
- if [[ " $PGVERSION " =~ ^17. * ]]; then
406
+ if [[ " ${ PGVERSION%% . * } " -ge 16 ]]; then
407
407
LC_ALL=en_US.UTF-8 LC_CTYPE=en_US.UTF-8 LC_COLLATE=en_US.UTF-8 LANGUAGE=en_US.UTF-8 LANG=en_US.UTF-8 LOCALE_ARCHIVE=/usr/lib/locale/locale-archive su -c " . /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh && $PGBINNEW /initdb --encoding=$SERVER_ENCODING --locale-provider=icu --icu-locale=en_US.UTF-8 -L $PGSHARENEW -D $PGDATANEW / --username=supabase_admin" -s " $SHELL " postgres
408
408
else
409
409
LC_ALL=en_US.UTF-8 LC_CTYPE=$SERVER_LC_CTYPE LC_COLLATE=$SERVER_LC_COLLATE LANGUAGE=en_US.UTF-8 LANG=en_US.UTF-8 LOCALE_ARCHIVE=/usr/lib/locale/locale-archive su -c " . /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh && $PGBINNEW /initdb --encoding=$SERVER_ENCODING --lc-collate=$SERVER_LC_COLLATE --lc-ctype=$SERVER_LC_CTYPE -L $PGSHARENEW -D $PGDATANEW / --username=supabase_admin" -s " $SHELL " postgres
@@ -430,8 +430,8 @@ $(cat /etc/postgresql/pg_hba.conf)" > /etc/postgresql/pg_hba.conf
430
430
# Add the setting if not found
431
431
echo " max_slot_wal_keep_size = -1" >> " $TMP_CONFIG "
432
432
433
- # Remove db_user_namespace if upgrading from PG15
434
- if [[ " $OLD_PGVERSION " =~ ^15. * && " $PGVERSION " =~ ^17. * ]]; then
433
+ # Remove db_user_namespace if upgrading from PG15 or lower to PG16+
434
+ if [[ " ${ OLD_PGVERSION%% . * } " -le 15 && " ${ PGVERSION%% . * } " -ge 16 ]]; then
435
435
sed -i ' /^db_user_namespace/d' " $TMP_CONFIG "
436
436
fi
437
437
457
457
UPGRADE_COMMAND=" . /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh && $UPGRADE_COMMAND "
458
458
fi
459
459
460
- if [[ " $PGVERSION " =~ ^17. * ]]; then
460
+ if [[ " ${ PGVERSION%% . * } " -ge 16 ]]; then
461
461
GRN_PLUGINS_DIR=/var/lib/postgresql/.nix-profile/lib/groonga/plugins LC_ALL=en_US.UTF-8 LANGUAGE=en_US.UTF-8 LANG=en_US.UTF-8 LOCALE_ARCHIVE=/usr/lib/locale/locale-archive su -pc " $UPGRADE_COMMAND --check" -s " $SHELL " postgres
462
462
else
463
463
GRN_PLUGINS_DIR=/var/lib/postgresql/.nix-profile/lib/groonga/plugins LC_ALL=en_US.UTF-8 LC_CTYPE=$SERVER_LC_CTYPE LC_COLLATE=$SERVER_LC_COLLATE LANGUAGE=en_US.UTF-8 LANG=en_US.UTF-8 LOCALE_ARCHIVE=/usr/lib/locale/locale-archive su -pc " $UPGRADE_COMMAND --check" -s " $SHELL " postgres
479
479
fi
480
480
481
481
# Start the old PostgreSQL instance with version-specific options
482
- if [[ " $PGVERSION " =~ ^17. * ]]; then
482
+ if [[ " ${ PGVERSION%% . * } " -ge 16 ]]; then
483
483
GRN_PLUGINS_DIR=/var/lib/postgresql/.nix-profile/lib/groonga/plugins LC_ALL=en_US.UTF-8 LANGUAGE=en_US.UTF-8 LANG=en_US.UTF-8 LOCALE_ARCHIVE=/usr/lib/locale/locale-archive su -pc " $UPGRADE_COMMAND " -s " $SHELL " postgres
484
484
else
485
485
GRN_PLUGINS_DIR=/var/lib/postgresql/.nix-profile/lib/groonga/plugins LC_ALL=en_US.UTF-8 LC_CTYPE=$SERVER_LC_CTYPE LC_COLLATE=$SERVER_LC_COLLATE LANGUAGE=en_US.UTF-8 LANG=en_US.UTF-8 LOCALE_ARCHIVE=/usr/lib/locale/locale-archive su -pc " $UPGRADE_COMMAND " -s " $SHELL " postgres
0 commit comments