databases

POST /v1/databases/{databaseId}/upgrade

Move the database to a newer PostgreSQL major.

모든 databases 엔드포인트

모든 개발자 문서

인증

Bearer 토큰으로 API 키를 전송하세요. 이 엔드포인트는 명세에 특정 권한을 명시하지 않으므로, 가정하기보다는 키에 필요한 최소한의 권한을 부여하고 응답을 확인하세요.

이 엔드포인트는 조직 ID를 받지 않습니다. 사용자의 키가 이미 속한 조직을 식별하며, 응답은 해당 조직으로 한정됩니다.

무료 체험하기

대괄호 안에 있는 모든 내용을 사용자 지정 값으로 바꾸고, 키 플레이스홀더는 대시보드의 키로 바꾸세요.

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

로그인하셨나요? 대시보드의 API 콘솔이 실제 조직 ID와 본인의 키를 자동으로 채우고 라이브 API를 대상으로 요청을 실행하므로 실제 응답을 확인할 수 있습니다. API 콘솔에서 이 엔드포인트를 여세요

상세 정보

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.

매개변수

이름유형필수설명
databaseId (path)string

요청 본문

이름유형필수설명
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:…

응답

이름유형필수설명
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 run…
engine_labelstring아니요The 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_detailstring아니요Why a failed instance failed. Empty otherwise.
hoststring아니요Empty 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…
vcpuinteger아니요
ram_gbinteger아니요
storage_gbinteger아니요
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_atstring아니요When a backup last completed. null means none has ever run.
order_line_idobject아니요The 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.
billingManagedDatabaseBilling아니요The 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…
restore_verified_atstring아니요When 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…

이 엔드포인트가 반환할 수 있는 오류

401 · 403 · 404 · 422