Description

Ensure each project runs a supported Postgres version and is upgraded when Supabase releases a newer version. Projects should not stay on deprecated or end-of-life versions, which no longer receive security fixes and may be upgraded automatically by Supabase.

Rationale

Older Postgres versions stop receiving security patches and bug fixes over time. Running an outdated version leaves known vulnerabilities unpatched and blocks access to newer security features, such as Network Restrictions on some older versions. Upgrading on a planned schedule is safer than being forced to upgrade when a version is removed.

Impact

  • Receives the latest security fixes

  • Unlocks newer platform features

  • Upgrades cause downtime and may need extension changes

Default Value

Projects stay on the Postgres version they were created with until they are upgraded. Supabase notifies owners and may automatically upgrade projects on deprecated versions.

Pre-Requisites

  • Project Owner or Admin role

  • A planned maintenance window

  • A recent backup

  • Removal of any extensions not supported in the new version

Test Plan

  1. Sign in to the Supabase Dashboard at https://supabase.com/dashboard.

  2. Select your project.

  3. Open Project Settings and select Infrastructure (in newer dashboards this is under General).

  4. Check the current Postgres version.

  5. If an upgrade is offered or the version is deprecated, follow the implementation steps.

Implementation Steps

  1. Sign in to the Supabase Dashboard at https://supabase.com/dashboard.

  2. Select your project.

  3. Take a backup of the database.

  4. Open Project Settings and select Infrastructure (in newer dashboards this is under General).

  5. Review any warnings, such as unsupported extensions, and fix them.

  6. Select Upgrade project and confirm.

  7. After the upgrade, test the application.

Backout Plan

  1. An in-place upgrade cannot be reversed. If needed, restore the backup taken before the upgrade to a new project.

  2. If the upgrade itself fails, Supabase brings the original database back online automatically.

Reference