Skip to content

db dump fails against remote PostgreSQL 17: config.go missing case 17 image mapping #5007

@taijonsmith

Description

@taijonsmith

Describe the bug
supabase db dump fails with "server version mismatch" when the remote database is PostgreSQL 17. The CLI's Docker container uses pg_dump 15.6, which refuses to connect to a PG 17.6 server.

Root cause: internal/utils/config.go Load() switch only handles case 13, case 14, case 15 — there is no case 17. The Image field is tagged toml:"-" so users cannot override it via config.toml. The Validate() function accepts case 15, 17: as valid, so major_version = 17 is accepted in config — it just never assigns the correct Docker image.

The PG 17 Docker image (supabase/postgres:17.6.1.095) already exists on ECR and is referenced in the main branch Dockerfile, but it's not wired into config.go.

To Reproduce

  1. Have a Supabase project running PostgreSQL 17
  2. Set major_version = 17 in supabase/config.toml
  3. Run supabase db dump
  4. Error: pg_dump: error: aborting because of server version mismatch
    • server version: 17.6; pg_dump version: 15.6

Expected behavior
db dump should use a Docker image with pg_dump 17.x when major_version = 17 is configured, matching the remote server version.

Screenshots
N/A

System information

  • Ticket ID: f08c1ad7d1624aeb8aa21b9cfe1debfd
  • Version of OS: macOS 26.4
  • Version of CLI: v2.84.5
  • Version of Docker: v29.0.1
  • Versions of services: N/A (remote-only, not using local dev)

Additional context

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions