databases

POST /v1/databases/{databaseId}/upgrade

Move the database to a newer PostgreSQL major.

Todos los endpoints de databases

Autenticación

Envía una clave de API como token de portador. Este endpoint no especifica un permiso concreto en la especificación, así que otorga a tu clave los mínimos privilegios necesarios y comprueba la respuesta en lugar de dar por sentado.

Este endpoint no requiere ningún id de organización. Su clave ya identifica la organización a la que pertenece, y la respuesta está delimitada a ella.

Pruébalo

Reemplaza cualquier elemento entre corchetes angulares por tus propios valores, y el marcador de posición key con una clave de tu panel de control.

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> }'

¿Has iniciado sesión? La consola de la API en tu panel de control rellena el ID de tu organización real y tu propia clave, y ejecuta la solicitud contra la API en vivo para que puedas ver la respuesta real. Abre este endpoint en la consola de la API

Detalles

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.

Parámetros

NombreTipoObligatorio¿Qué es esto?
databaseId (path)string

Cuerpo de la solicitud

NombreTipoObligatorio¿Qué es esto?
engine_versionstringThe 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" <…

Respuesta

NombreTipoObligatorio¿Qué es esto?
idstring
labelstringThe customer's own name for it. Never sent to the infrastructure.
enginestring<postgres, mysql>Which 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_versionstringThe 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_labelstringNoThe 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.
sizestringA code from `GET /v1/databases/catalogue`.
statusstring<provisioning, available, failed, suspended, deleting, deleted>
status_detailstringNoWhy a `failed` instance failed. Empty otherwise.
hoststringNoEmpty until the instance is `available`.
portinteger
database_namestring
usernamestring
high_availabilitybooleanWhether 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…
vcpuintegerNo
ram_gbintegerNo
storage_gbintegerNo
tls_requiredbooleanAlways true. TLS is a precondition of selling a publicly reachable database, not a feature that can be turned off.
created_atstring
last_backup_atstringNoWhen a backup last **completed**. `null` means none has ever run.
order_line_idobjectNoThe 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.
billingManagedDatabaseBillingNoThe 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_atstringNoWhen 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…

Errores que este endpoint puede devolver

401 · 403 · 404 · 422