Skip to main content

replicas

Creates, updates, deletes, gets or lists a replicas resource.

Overview​

Namereplicas
TypeResource
Iddigitalocean.databases.replicas

Fields​

The following fields are returned by SELECT queries:

A JSON object with a key of replica.

NameDatatypeDescription
idstring (uuid)A unique ID that can be used to identify and reference a database replica. (example: 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30)
namestringThe name to give the read-only replicating (example: read-nyc3-01)
connectionobject
created_atstring (date-time)A time value given in ISO8601 combined date and time format that represents when the database cluster was created. (example: 2019-01-11T18:37:36Z)
do_settingsobjectDigitalOcean-specific settings for the database cluster.
private_connectionobject
private_network_uuidstringA string specifying the UUID of the VPC to which the read-only replica will be assigned. If excluded, the replica will be assigned to your account's default VPC for the region.

Requires vpc:read scope. (example: 9423cbad-9211-442f-820b-ef6915e99b5f)
regionstringA slug identifier for the region where the read-only replica will be located. If excluded, the replica will be placed in the same region as the cluster. (example: nyc3)
sizestringA slug identifier representing the size of the node for the read-only replica. The size of the replica must be at least as large as the node size for the database cluster from which it is replicating. (example: db-s-2vcpu-4gb)
statusstringA string representing the current status of the database cluster. (creating, online, resizing, migrating, forking) (example: creating)
storage_size_mibintegerAdditional storage added to the cluster, in MiB. If null, no additional storage is added to the cluster, beyond what is provided as a base amount from the 'size' and any previously added additional storage.
tagsarrayA flat array of tag names as strings applied to the read-only replica.

Requires tag:read scope.

Methods​

The following methods are available for this resource:

NameAccessible byRequired ParamsOptional ParamsDescription
databases_get_replicaselectdatabase_cluster_uuid, replica_nameTo show information about an existing database replica, send a GET request to /v2/databases/$DATABASE_ID/replicas/$REPLICA_NAME.

Note: Read-only replicas are not supported for Caching or Valkey clusters.

The response will be a JSON object with a replica key. This will be set to an object containing the standard database replica attributes.
databases_list_replicasselectdatabase_cluster_uuidTo list all of the read-only replicas associated with a database cluster, send a GET request to /v2/databases/$DATABASE_ID/replicas.

Note: Read-only replicas are not supported for Caching or Valkey clusters.

The result will be a JSON object with a replicas key. This will be set to an array of database replica objects, each of which will contain the standard database replica attributes.
databases_create_replicainsertdatabase_cluster_uuid, name, sizeTo create a read-only replica for a PostgreSQL or MySQL database cluster, send a POST request to /v2/databases/$DATABASE_ID/replicas specifying the name it should be given, the size of the node to be used, and the region where it will be located.

Note: Read-only replicas are not supported for Caching or Valkey clusters.

The response will be a JSON object with a key called replica. The value of this will be an object that contains the standard attributes associated with a database replica. The initial value of the read-only replica's status attribute will be forking. When the replica is ready to receive traffic, this will transition to active.
databases_destroy_replicadeletedatabase_cluster_uuid, replica_nameTo destroy a specific read-only replica, send a DELETE request to /v2/databases/$DATABASE_ID/replicas/$REPLICA_NAME.

Note: Read-only replicas are not supported for Caching or Valkey clusters.

A status of 204 will be given. This indicates that the request was processed successfully, but that no response body is needed.
databases_promote_replicaexecdatabase_cluster_uuid, replica_nameTo promote a specific read-only replica, send a PUT request to /v2/databases/$DATABASE_ID/replicas/$REPLICA_NAME/promote.

Note: Read-only replicas are not supported for Caching or Valkey clusters.

A status of 204 will be given. This indicates that the request was processed successfully, but that no response body is needed.

Parameters​

Parameters can be passed in the WHERE clause of a query. Check the Methods section to see which parameters are required or optional for each operation.

NameDatatypeDescription
database_cluster_uuidstring (uuid)A unique identifier for a database cluster. (example: 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30)
replica_namestringThe name of the database replica. (example: read-nyc3-01)

SELECT examples​

To show information about an existing database replica, send a GET request to /v2/databases/$DATABASE_ID/replicas/$REPLICA_NAME.

Note: Read-only replicas are not supported for Caching or Valkey clusters.

The response will be a JSON object with a replica key. This will be set to an object containing the standard database replica attributes.

SELECT
id,
name,
connection,
created_at,
do_settings,
private_connection,
private_network_uuid,
region,
size,
status,
storage_size_mib,
tags
FROM digitalocean.databases.replicas
WHERE database_cluster_uuid = '{{ database_cluster_uuid }}' -- required
AND replica_name = '{{ replica_name }}' -- required
;

INSERT examples​

To create a read-only replica for a PostgreSQL or MySQL database cluster, send a POST request to /v2/databases/$DATABASE_ID/replicas specifying the name it should be given, the size of the node to be used, and the region where it will be located.

Note: Read-only replicas are not supported for Caching or Valkey clusters.

The response will be a JSON object with a key called replica. The value of this will be an object that contains the standard attributes associated with a database replica. The initial value of the read-only replica's status attribute will be forking. When the replica is ready to receive traffic, this will transition to active.

INSERT INTO digitalocean.databases.replicas (
name,
region,
size,
tags,
private_network_uuid,
storage_size_mib,
do_settings,
database_cluster_uuid
)
SELECT
'{{ name }}' /* required */,
'{{ region }}',
'{{ size }}' /* required */,
'{{ tags }}',
'{{ private_network_uuid }}',
{{ storage_size_mib }},
'{{ do_settings }}',
'{{ database_cluster_uuid }}'
RETURNING
replica
;

DELETE examples​

To destroy a specific read-only replica, send a DELETE request to /v2/databases/$DATABASE_ID/replicas/$REPLICA_NAME.

Note: Read-only replicas are not supported for Caching or Valkey clusters.

A status of 204 will be given. This indicates that the request was processed successfully, but that no response body is needed.

DELETE FROM digitalocean.databases.replicas
WHERE database_cluster_uuid = '{{ database_cluster_uuid }}' --required
AND replica_name = '{{ replica_name }}' --required
;

Lifecycle Methods​

To promote a specific read-only replica, send a PUT request to /v2/databases/$DATABASE_ID/replicas/$REPLICA_NAME/promote.

Note: Read-only replicas are not supported for Caching or Valkey clusters.

A status of 204 will be given. This indicates that the request was processed successfully, but that no response body is needed.

EXEC digitalocean.databases.replicas.databases_promote_replica
@database_cluster_uuid='{{ database_cluster_uuid }}' --required,
@replica_name='{{ replica_name }}' --required
;