Managed Postgres OpenAPI
Use the ClickHouse OpenAPI to programmatically control your Managed Postgres services just like ClickHouse services. The same API also exposes a Prometheus endpoint for scraping service metrics. Already familiar with OpenAPI? Get your API keys and jump right to the Managed Postgres API reference. Otherwise, follow along for a quick run-through.
API Keys
Using the ClickHouse OpenAPI requires authentication; see API keys for how to create them. Then use them via basic auth credentials like so:
Organization ID
Next you'll need your organization ID.
- Select your organization name in the lower left corner of the console.
- Select Organization details.
- Hit the copy icon to the right of Organization ID to copy it directly to your clipboard.
CRUD
Let's explore the lifecycle of a Postgres service.
Create
First, create a new one using the create API. It requires the following properties in the JSON body of the request:
name: Name of the new Postgres serviceprovider: Name of the cloud providerregion: Region within the provider's network in which to deploy the servicesize: The VM sizestorageSize: The storage size for the VM
See the create API docs for the possible values for these properties. In addition, let's specify Postgres 18 rather than the default, 17:
Now use this data to create a new instance; note that it requires the content type header:
On success, it will create a new instance and return information about it, including connection data:
Read
Use the id from the response to fetch the service again:
The output will be similar to the JSON returned for creation, but keep an eye
on the state; when it changes to running, the server is ready:
Now you can use the connectionString property to connect, for example via
psql:
Type \q to exit psql.
Update
The patch API supports updating a subset of the properties of a Managed Postgres service via RFC 7396 JSON Merge Patch. Tags may be of particular interest for complex deployments; simply send them alone in the request:
The returned data should include the new tags:
Delete
Use the delete API to delete a Postgres service.
Deleting a Postgres service completely removes the service and all of its data. Be sure you have a backup or have promoted a replica to primary before deleting a service.
On success, the response will report status code 200, e.g.:
Monitoring
Two Prometheus-compatible endpoints expose CPU, memory, I/O, connection, and transaction metrics for Managed Postgres services: one returns metrics for every service in the organization, the other for a single service. See the Prometheus endpoint page for setup and the metrics reference for the full list of metrics.