PostgreSQL Provisioning V2

Operations related to managing a Postgresql cluster

List recent cluster backup events.

SecurityBasic Authentication
Request
path Parameters
clusterId
required
string <uuid>

ID of the cluster.

Responses
200

List backups and restores for each node in a given cluster, for the last 7 days.

get/cluster-management/v2/data-sources/applications/postgresql/clusters/v2/{clusterId}/list-backups/v2/
Request samples
Response samples
application/json
{
  • "clusterDataCentres": [
    ],
  • "id": "77b5a4e1-c422-4a78-b551-d8fa5c42ad95",
  • "name": "example-cluster"
}

List compatible node sizes for PostgreSQL and any specified addon applications.

SecurityBasic Authentication
Request
query Parameters
pgbouncerRequired
boolean

Specifies whether node sizes are also compatible with PgBouncer.

Responses
200

Successfully retrieved compatible node sizes for PostgreSQL.

get/cluster-management/v2/data-sources/applications/postgresql/compatible-node-sizes/v2/
Request samples
Response samples
application/json
[
  • {
    }
]

List all versions of applications compatible with a PostgreSQL version.

SecurityBasic Authentication
Request
path Parameters
version
required
string[0-9]+\.[0-9]+\.[0-9]+

A PostgreSQL version.

Responses
200

Successfully retrieved versions of applications compatible with a PostgreSQL version.

get/cluster-management/v2/data-sources/applications/postgresql/compatible-versions/v2/{version}
Request samples
Response samples
application/json
[
  • {
    }
]

List all PostgreSQL applications and versions.

SecurityBasic Authentication
Responses
200

Successfully retrieved applications and versions for PostgreSQL.

get/cluster-management/v2/data-sources/applications/postgresql/versions/v2/
Request samples
Response samples
application/json
[
  • {
    }
]

Download PostgreSQL cluster X.509 Certificate Authority certificates

PostgreSQL cluster certificates are returned as a .zip file. The file contains an X.509 cluster Certificate Authority certificate in JKS file, an X.509 cluster Certificate Authority certificate in PEM-encoded (ASCII) format, and an X.509 cluster Certificate Authority certificate in DER-encoded (binary) format.

SecurityBasic Authentication
Request
path Parameters
clusterId
required
string

ID of the cluster

Responses
200

Successfully create the PostgreSQL cluster's certificate

get/cluster-management/v2/operations/applications/postgres/clusters/v2/{clusterId}/certificate/v2/
Request samples

Manually trigger cluster backup.

SecurityBasic Authentication
Request
path Parameters
clusterId
required
string <uuid>

ID of the cluster.

Responses
202

Trigger cluster backup request accepted.

post/cluster-management/v2/operations/applications/postgres/clusters/v2/{clusterId}/trigger-backup/v2/
Request samples

Trigger a PostgreSQL Cluster Restore

SecurityBasic Authentication
Request
Request Body schema: application/json
Array of objects (ClusterDataCentreRestoreConfigV2)

An optional list of Cluster Data Centres to determine their VPC in the restored cluster.

Data centres not included will default to being restored to a new VPC.

pointInTime
string

Timestamp in milliseconds since epoch or ISO formatted date and time (example - 2023-11-05T13:15:30Z). All backed up data will be restored for this point in time.

Defaults to the current date and time.

restoredClusterName
string [ 3 .. 48 ] characters [a-zA-Z0-9][a-zA-Z0-9_-]*

The display name of the restored cluster.

By default, the restored cluster will be created with its current name appended with “restored” and the date & time it was requested to be restored.

clusterId
required
string <uuid>

ID of the cluster

Responses
202

PostgreSQL Cluster Restore requested

post/cluster-management/v2/operations/applications/postgres/restore/v2
Request samples
application/json
{
  • "cdcConfigs": [
    ],
  • "clusterId": "c0e5e2ff-affe-444c-bdca-707c7b48aaad",
  • "pointInTime": 1420070400000,
  • "restoredClusterId": "b8a32a20-d8e0-11a7-def4-sdc278a6a50b",
  • "restoredClusterName": "my-restored-cluster"
}
Response samples
application/json
{
  • "cdcConfigs": [
    ],
  • "clusterId": "c0e5e2ff-affe-444c-bdca-707c7b48aaad",
  • "pointInTime": 1420070400000,
  • "restoredClusterId": "b8a32a20-d8e0-11a7-def4-sdc278a6a50b",
  • "restoredClusterName": "my-restored-cluster"
}

Create a Postgresql cluster.

SecurityBasic Authentication
Request
Request Body schema: application/json
required
Array of objects (PostgresqlDataCentreV2) [ 1 .. 2 ] items

List of data centre settings.

currentClusterOperationStatus
string (CurrentClusterOperationStatusV2)

Indicates if the cluster is currently performing any restructuring operation such as being created or resized

Enum: "NO_OPERATION" "OPERATION_IN_PROGRESS" "OPERATION_FAILED"
synchronousModeStrict
required
boolean

Create the PostgreSQL cluster with the selected replication mode, see [PostgreSQL replication mode] (https://www.instaclustr.com/support/documentation/postgresql/options/replication-mode/).

privateNetworkCluster
required
boolean

Creates the cluster with private network only, see Private Network Clusters.

name
required
string [ 3 .. 48 ] characters [a-zA-Z0-9][a-zA-Z0-9_-]*

Name of the cluster.

postgresqlVersion
required
string[0-9]+\.[0-9]+\.[0-9]+

Version of Postgresql to run on the cluster. Available versions:

  • 13.10.0
  • 14.7.0
  • 13.9.0
  • 14.6.0
  • 15.2.0

Array of objects (TwoFactorDeleteSettingsV2) <= 1 items
slaTier
required
string (SlaTierV2)

SLA Tier of the cluster. Non-production clusters may receive lower priority support and reduced SLAs. Production tier is not available when using Developer class nodes. See SLA Tier for more information.

Enum: "PRODUCTION" "NON_PRODUCTION"
Responses
202

Postgresql Cluster provisioning requested.

post/cluster-management/v2/resources/applications/postgresql/clusters/v2/
Request samples
application/json
{
  • "dataCentres": [
    ],
  • "name": "test_apiv2_postgresql_create",
  • "postgresqlVersion": "[x.y.z]",
  • "privateNetworkCluster": false,
  • "slaTier": "NON_PRODUCTION",
  • "synchronousModeStrict": false
}
Response samples
application/json
{
  • "dataCentres": [
    ],
  • "name": "test_apiv2_postgresql_create",
  • "postgresqlVersion": "[x.y.z]",
  • "privateNetworkCluster": false,
  • "slaTier": "NON_PRODUCTION",
  • "synchronousModeStrict": false
}

Get Postgresql cluster details.

SecurityBasic Authentication
Request
path Parameters
clusterId
required
string <uuid>
Responses
200

Postgresql cluster details retrieved.

get/cluster-management/v2/resources/applications/postgresql/clusters/v2/{clusterId}/
Request samples
Response samples
application/json
{
  • "dataCentres": [
    ],
  • "name": "test_apiv2_postgresql_create",
  • "postgresqlVersion": "[x.y.z]",
  • "privateNetworkCluster": false,
  • "slaTier": "NON_PRODUCTION",
  • "synchronousModeStrict": false
}

Update PostgreSQL cluster details

SecurityBasic Authentication
Request
path Parameters
clusterId
required
string <uuid>
Request Body schema: application/json
required
Array of objects (PostgresqlDataCentreV2) = 1 items

List of datacentre settings.

Responses
202

PostgreSQL cluster update request accepted.

404

PostgreSQL cluster not found.

put/cluster-management/v2/resources/applications/postgresql/clusters/v2/{clusterId}/
Request samples
application/json
{
  • "dataCentres": [
    ]
}
Response samples
application/json
{
  • "dataCentres": [
    ],
  • "name": "test_apiv2_postgresql_create",
  • "postgresqlVersion": "[x.y.z]",
  • "privateNetworkCluster": false,
  • "slaTier": "NON_PRODUCTION",
  • "synchronousModeStrict": false
}

Delete cluster

Delete an active cluster.

SecurityBasic Authentication
Request
path Parameters
clusterId
required
string <uuid>
Responses
204

Cluster delete requested.

delete/cluster-management/v2/resources/applications/postgresql/clusters/v2/{clusterId}/
Request samples