Enable an extension of a managed PostgreSQL database
const url = 'https://opfield.example.com/api/databases/managed/550e8400-e29b-41d4-a716-446655440000/extensions/example';const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://opfield.example.com/api/databases/managed/550e8400-e29b-41d4-a716-446655440000/extensions/example \ --header 'Authorization: Bearer <token>'CREATE EXTENSION … CASCADE, after the preload library or the download it needs, and grants the application role use of its objects. Enabling an enabled extension changes nothing. Only the curated extensions the list returns can change (400 EXTENSION_NOT_ALLOWED). DDL runs as the control superuser in the application database, on the primary when the database runs on several servers (copies follow). An extension that needs a preload library restarts the database (a rolling update copies-first on several servers); one that comes as a download is installed into the database volume on every server first (409 EXTENSION_NEEDS_STORAGE when the volume lacks room). The answer is the extension list; pending is set while a restart or a download runs, and the SQL step follows on its own. Refusals: 409 EXTENSION_NEEDS_IMAGE_UPDATE (update with imageUpdate: true first), EXTENSION_NOT_AVAILABLE (not in this version), MANAGED_DATABASE_DAEMON_UPDATE_REQUIRED (a node daemon predates extensions), MANAGED_DATABASE_EXTENSION_CHANGE_PENDING (another change runs). Needs databases:edit.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Example
550e8400-e29b-41d4-a716-446655440000Responses
Section titled “Responses”Successful response
object
Resource object. Exact fields depend on the endpoint.
object
Example
{ "data": { "id": "550e8400-e29b-41d4-a716-446655440000", "name": "Production Postgres", "type": "postgres", "healthStatus": "online" }}Bad request
object
Error code
Human-readable error message
Additional error details
Example
{ "code": "VALIDATION_ERROR", "message": "Request validation failed", "details": [ { "path": [ "name" ], "message": "Required" } ]}Authentication required
object
Error code
Human-readable error message
Additional error details
Example
{ "code": "UNAUTHORIZED", "message": "Authentication required"}Forbidden
object
Error code
Human-readable error message
Additional error details
Example
{ "code": "FORBIDDEN", "message": "Insufficient permissions"}Not found
object
Error code
Human-readable error message
Additional error details
Example
{ "code": "NOT_FOUND", "message": "Resource not found"}Conflict
object
Error code
Human-readable error message
Additional error details
Example
{ "code": "CONFLICT", "message": "Resource already exists"}Unprocessable entity
object
Error code
Human-readable error message
Additional error details
Example
{ "code": "UNPROCESSABLE_ENTITY", "message": "Request could not be processed"}Internal server error
object
Error code
Human-readable error message
Additional error details
Example
{ "code": "INTERNAL_ERROR", "message": "Internal server error"}