# Upgrade Postgres major version ## backup - shell into running postgres-auth pod ``` export PGPASSWORD="$POSTGRES_POSTGRES_PASSWORD" cd /bitnami/postgresql pg_dumpall -U postgres > /bitnami/postgresql/backup ``` - store backup off-site ``` kubectl cp keycloak/kubezero-auth-postgresql-0:/bitnami/postgresql/backup postgres-backup ``` ## upgrade - upgrade auth chart - set replica of the keycloak statefulSet to 0 - set replica of the postgres-auth statefulSet to 0 - delete postgres-auth PVC and POD to flush old DB ## restore - restore replica of postgres-auth statefulSet - copy backup to new PVC ``` kubectl cp postgres-backup keycloak/kubezero-auth-postgresql-0:/bitnami/postgresql/backup ``` - shell into running postgres-auth pod ``` export PGPASSWORD="$POSTGRES_POSTGRES_PASSWORD" cd /bitnami/postgresql psql -U postgres ``` - drop database `keycloak` in case the keycloak instances connected early ``` DROP database keycloak ``` - actual restore ``` psql -U postgres -d postgres -f backup ``` - reset replia of keycloak statefulSet or force ArgoCD sync success.