From 606fd8d6dc7be049460addd93e6a651fad3b2ccf Mon Sep 17 00:00:00 2001 From: Sam Rose Date: Wed, 21 May 2025 08:08:28 -0400 Subject: [PATCH 1/5] feat: need to cover less than or equal to 15 --- .../files/admin_api_scripts/pg_upgrade_scripts/initiate.sh | 4 ++-- ansible/vars.yml | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/ansible/files/admin_api_scripts/pg_upgrade_scripts/initiate.sh b/ansible/files/admin_api_scripts/pg_upgrade_scripts/initiate.sh index 18850883c..cc20d403c 100755 --- a/ansible/files/admin_api_scripts/pg_upgrade_scripts/initiate.sh +++ b/ansible/files/admin_api_scripts/pg_upgrade_scripts/initiate.sh @@ -430,8 +430,8 @@ $(cat /etc/postgresql/pg_hba.conf)" > /etc/postgresql/pg_hba.conf # Add the setting if not found echo "max_slot_wal_keep_size = -1" >> "$TMP_CONFIG" - # Remove db_user_namespace if upgrading from PG15 - if [[ "$OLD_PGVERSION" =~ ^15.* && "$PGVERSION" =~ ^17.* ]]; then + # Remove db_user_namespace if upgrading from PG15 or lower + if [[ "${OLD_PGVERSION%%.*}" -le 15 && "$PGVERSION" =~ ^17.* ]]; then sed -i '/^db_user_namespace/d' "$TMP_CONFIG" fi diff --git a/ansible/vars.yml b/ansible/vars.yml index 87233533a..c33f69a76 100644 --- a/ansible/vars.yml +++ b/ansible/vars.yml @@ -9,9 +9,9 @@ postgres_major: # Full version strings for each major version postgres_release: - postgresorioledb-17: "17.0.1.085-orioledb" - postgres17: "17.4.1.035" - postgres15: "15.8.1.092" + postgresorioledb-17: "17.0.1.086-orioledb" + postgres17: "17.4.1.036" + postgres15: "15.8.1.093" # Non Postgres Extensions pgbouncer_release: "1.19.0" From 1e6ed919f21de203e2d20deed956f10528bcd677 Mon Sep 17 00:00:00 2001 From: Sam Rose Date: Wed, 21 May 2025 08:38:37 -0400 Subject: [PATCH 2/5] feat: handle range of 16 or greater for destination of upgrade --- .../files/admin_api_scripts/pg_upgrade_scripts/initiate.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ansible/files/admin_api_scripts/pg_upgrade_scripts/initiate.sh b/ansible/files/admin_api_scripts/pg_upgrade_scripts/initiate.sh index cc20d403c..bcaed7e69 100755 --- a/ansible/files/admin_api_scripts/pg_upgrade_scripts/initiate.sh +++ b/ansible/files/admin_api_scripts/pg_upgrade_scripts/initiate.sh @@ -430,8 +430,8 @@ $(cat /etc/postgresql/pg_hba.conf)" > /etc/postgresql/pg_hba.conf # Add the setting if not found echo "max_slot_wal_keep_size = -1" >> "$TMP_CONFIG" - # Remove db_user_namespace if upgrading from PG15 or lower - if [[ "${OLD_PGVERSION%%.*}" -le 15 && "$PGVERSION" =~ ^17.* ]]; then + # Remove db_user_namespace if upgrading from PG15 or lower to PG16+ + if [[ "${OLD_PGVERSION%%.*}" -le 15 && "${PGVERSION%%.*}" -ge 16 ]]; then sed -i '/^db_user_namespace/d' "$TMP_CONFIG" fi From a1b4309e6648b549f020340275334930d6b7df6f Mon Sep 17 00:00:00 2001 From: Sam Rose Date: Wed, 21 May 2025 08:45:07 -0400 Subject: [PATCH 3/5] feat: use -ge approach for all instances of 16+ handling --- .../admin_api_scripts/pg_upgrade_scripts/initiate.sh | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/ansible/files/admin_api_scripts/pg_upgrade_scripts/initiate.sh b/ansible/files/admin_api_scripts/pg_upgrade_scripts/initiate.sh index bcaed7e69..e5c4ddbf7 100755 --- a/ansible/files/admin_api_scripts/pg_upgrade_scripts/initiate.sh +++ b/ansible/files/admin_api_scripts/pg_upgrade_scripts/initiate.sh @@ -43,8 +43,8 @@ POST_UPGRADE_EXTENSION_SCRIPT="/tmp/pg_upgrade/pg_upgrade_extensions.sql" POST_UPGRADE_POSTGRES_PERMS_SCRIPT="/tmp/pg_upgrade/pg_upgrade_postgres_perms.sql" OLD_PGVERSION=$(run_sql -A -t -c "SHOW server_version;") -# Skip locale settings if both versions are PostgreSQL 17+ -if ! [[ "$OLD_PGVERSION" =~ ^17.* && "$PGVERSION" =~ ^17.* ]]; then +# Skip locale settings if both versions are PostgreSQL 16+ +if ! [[ "${OLD_PGVERSION%%.*}" -ge 16 && "${PGVERSION%%.*}" -ge 16 ]]; then SERVER_LC_COLLATE=$(run_sql -A -t -c "SHOW lc_collate;") SERVER_LC_CTYPE=$(run_sql -A -t -c "SHOW lc_ctype;") fi @@ -403,7 +403,7 @@ function initiate_upgrade { rm -rf "${PGDATANEW:?}/" if [ "$IS_NIX_UPGRADE" = "true" ]; then - if [[ "$PGVERSION" =~ ^17.* ]]; then + if [[ "${PGVERSION%%.*}" -ge 16 ]]; then 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 else 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 @@ -457,7 +457,7 @@ EOF UPGRADE_COMMAND=". /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh && $UPGRADE_COMMAND" fi - if [[ "$PGVERSION" =~ ^17.* ]]; then + if [[ "${PGVERSION%%.*}" -ge 16 ]]; then 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 else 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,7 +479,7 @@ EOF fi # Start the old PostgreSQL instance with version-specific options - if [[ "$PGVERSION" =~ ^17.* ]]; then + if [[ "${PGVERSION%%.*}" -ge 16 ]]; then 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 else 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 From d882710df4c067fa0779fe3dcba783b73175c25b Mon Sep 17 00:00:00 2001 From: Sam Rose Date: Wed, 21 May 2025 08:45:56 -0400 Subject: [PATCH 4/5] chore: testing vers bump --- ansible/vars.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ansible/vars.yml b/ansible/vars.yml index c33f69a76..1483c958a 100644 --- a/ansible/vars.yml +++ b/ansible/vars.yml @@ -9,9 +9,9 @@ postgres_major: # Full version strings for each major version postgres_release: - postgresorioledb-17: "17.0.1.086-orioledb" - postgres17: "17.4.1.036" - postgres15: "15.8.1.093" + postgresorioledb-17: "17.0.1.086-orioledb-up-1" + postgres17: "17.4.1.036-up-1" + postgres15: "15.8.1.093-up-1" # Non Postgres Extensions pgbouncer_release: "1.19.0" From 1bbf8fca6c29665c81a93978be99a671d3c5d6c0 Mon Sep 17 00:00:00 2001 From: Sam Rose Date: Wed, 21 May 2025 13:47:23 -0400 Subject: [PATCH 5/5] chore: version bump for release --- ansible/vars.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ansible/vars.yml b/ansible/vars.yml index 1483c958a..c33f69a76 100644 --- a/ansible/vars.yml +++ b/ansible/vars.yml @@ -9,9 +9,9 @@ postgres_major: # Full version strings for each major version postgres_release: - postgresorioledb-17: "17.0.1.086-orioledb-up-1" - postgres17: "17.4.1.036-up-1" - postgres15: "15.8.1.093-up-1" + postgresorioledb-17: "17.0.1.086-orioledb" + postgres17: "17.4.1.036" + postgres15: "15.8.1.093" # Non Postgres Extensions pgbouncer_release: "1.19.0"