databases

POST /v1/databases/{databaseId}/upgrade

Move the database to a newer PostgreSQL major.

Alle databases Endpunkte

Authentifizierung

Senden Sie einen API-Schlüssel als Bearer-Token. Dieser Endpunkt gibt in der Spezifikation keine spezifische Berechtigung an. Versehen Sie Ihren Schlüssel daher mit den minimal erforderlichen Rechten und prüfen Sie die Antwort, anstatt Annahmen zu treffen.

Dieser Endpunkt erfordert keine Organisations-ID. Ihr Schlüssel identifiziert bereits die zugehörige Organisation, und die Antwort ist entsprechend eingeschränkt.

Ausprobieren

Ersetzen Sie alles in spitzen Klammern durch Ihre eigenen Werte und den Platzhalter für den Schlüssel durch einen Schlüssel aus Ihrem Dashboard.

curl -X POST https://api.zinndigital.com/v1/databases/{databaseId}/upgrade \
  -H "Authorization: Bearer zdk_live_…" \
  -H "Content-Type: application/json" \
  -d '{ "engine_version": <string> }'

Angemeldet? Die API-Konsole in Ihrem Dashboard trägt automatisch Ihre echte Organisations-ID sowie Ihren eigenen Schlüssel ein und führt die Anfrage gegen die Live-API aus, sodass Sie die tatsächliche Antwort sehen können. Öffnen Sie diesen Endpunkt in der API-Konsole

Details

Gated on `databases.manage`. Returns `202` — the upgrade runs as a durable workflow because the operator rolls the primary over to an upgraded replica, which takes minutes and must survive a deploy or the customer closing the tab. ⛔ Refused with 422 when the target is not a major we run, when it is not newer than the current one (downgrading is not possible), and — importantly — when **the database has never been backed up**: if a switchover goes wrong the way back is a restore, and a restore with no backup is not a way back.

Parameter

NameTypErforderlichWas es ist
databaseId (path)stringJa

Anfragekörper

NameTypErforderlichWas es ist
engine_versionstringJaThe engine major to move to. Must be one this platform offers for the database's own engine, and newer than its current one. ⛔ Compared as version numbers, not as text: `"9.7" <…

Antwort

NameTypErforderlichWas es ist
idstringJa
labelstringJaThe customer's own name for it. Never sent to the infrastructure.
enginestring<postgres, mysql>JaWhich engine this database runs (`docs/497`). Modelled as a field from the start, which is why MySQL was additive rather than a migration of every row.
engine_versionstringJaThe engine's **major** — `"18"`, `"8.4"`. The patch level is ours to keep current and is deliberately not customer-selectable: choosing your own patch level means choosing to ru…
engine_labelstringNeinThe engine and version as a customer sees them — "PostgreSQL 18", "MySQL 8.4". Assembled by the API so three frontends cannot disagree about a product name.
sizestringJaA code from `GET /v1/databases/catalogue`.
statusstring<provisioning, available, failed, suspended, deleting, deleted>Ja
status_detailstringNeinWhy a `failed` instance failed. Empty otherwise.
hoststringNeinEmpty until the instance is `available`.
portintegerJa
database_namestringJa
usernamestringJa
high_availabilitybooleanJaWhether a standby replica is held with automatic failover. **The property customers actually choose on** — stated rather than inferred from the size, because an inference goes w…
vcpuintegerNein
ram_gbintegerNein
storage_gbintegerNein
tls_requiredbooleanJaAlways true. TLS is a precondition of selling a publicly reachable database, not a feature that can be turned off.
created_atstringJa
last_backup_atstringNeinWhen a backup last **completed**. `null` means none has ever run.
order_line_idobjectNeinThe paid basket line this database fulfils, or `null` for one that predates the purchase path or that staff tooling created. The subscription that bills it carries the same id.
billingManagedDatabaseBillingNeinThe subscription paying for this database — what it costs, and when it next renews. ⛔ `null` means **no subscription pays for it**, which is a real state (a row created before d…
restore_verified_atstringNeinWhen a backup of this database was last proved restorable **by restoring it and reading a row back over a client connection**. ⛔ Deliberately separate from `last_backup_at`: a b…

Fehler, die dieser Endpunkt zurückgeben kann

401 · 403 · 404 · 422