Share via


az postgres flexible-server replica

Manage read replicas.

Commands

Name Description Type Status
az postgres flexible-server replica create

Create a read replica for a server.

Core GA
az postgres flexible-server replica list

List all read replicas for a given server.

Core GA
az postgres flexible-server replica promote

Stop replication of a read replica and promote it to an independent server or as a primary server.

Core GA
az postgres flexible-server replica stop-replication

Stop replication to a read replica and make it a read/write server.

Core Deprecated

az postgres flexible-server replica create

Create a read replica for a server.

az postgres flexible-server replica create --replica-name
                                           --resource-group
                                           --source-server
                                           [--address-prefixes]
                                           [--identity]
                                           [--key]
                                           [--location]
                                           [--no-wait]
                                           [--performance-tier]
                                           [--private-dns-zone]
                                           [--sku-name]
                                           [--storage-size]
                                           [--subnet]
                                           [--subnet-prefixes]
                                           [--tags]
                                           [--tier]
                                           [--vnet]
                                           [--yes]
                                           [--zone]

Examples

Create a read replica 'testreplicaserver' for 'testserver' with public or private access in the specified zone and location if available.

az postgres flexible-server replica create --replica-name testreplicaserver -g testGroup --source-server testserver --zone 3 --location testLocation

Create a read replica 'testreplicaserver' with new subnet for 'testserver' with private access.

az postgres flexible-server replica create --replica-name testreplicaserver -g testGroup \
  --source-server testserver --zone 3 --location testLocation \
  --vnet newVnet --subnet newSubnet \
  --address-prefixes 172.0.0.0/16 --subnet-prefixes 172.0.0.0/24 \
  --private-dns-zone testDNS.postgres.database.azure.com \
  --tags "key=value"

Create a read replica 'testreplicaserver' for 'testserver' with public or private access in the specified location if available. Since zone is not passed, it will automatically pick up zone in the replica location which is different from source server, if available, else will pick up zone same as source server in the replica location if available, else will set the zone as None, i.e. No preference

az postgres flexible-server replica create --replica-name testreplicaserver -g testGroup --source-server testserver --location testLocation

Create a read replica 'testreplicaserver' for 'testserver' with custom --storage-size and --sku.

az postgres flexible-server replica create --replica-name testreplicaserver -g testGroup --source-server testserver --sku-name Standard_D4ds_v5 --storage-size 256

Create a read replica 'testreplicaserver' for 'testserver', where 'testreplicaserver' is in a different resource group 'newTestGroup'. Here --resource-group is for the read replica's resource group, and --source-server must be passed as resource ID.

az postgres flexible-server replica create --replica-name testreplicaserver -g newTestGroup         --source-server /subscriptions/{sourceSubscriptionId}/resourceGroups/{sourceResourceGroup}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{sourceServerName} --location testLocation

Required Parameters

--replica-name

The name of the server to restore to.

--resource-group -g

Name of resource group. You can configure the default group using az configure --defaults group=<name>.

--source-server

The name or resource ID of the source server to restore from.

Optional Parameters

--address-prefixes

The IP address prefix to use when creating a new virtual network in CIDR format. Default value is 10.0.0.0/16.

--identity

The name or resource ID of the user assigned identity for data encryption.

--key

The resource ID of the primary keyvault key for data encryption.

--location -l

Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=<location>.

--no-wait

Do not wait for the long-running operation to finish.

Default value: False
--performance-tier

Performance tier of the server.

--private-dns-zone

This parameter only applies for a server with private access. The name or id of new or existing private dns zone. You can use the private dns zone from same resource group, different resource group, or different subscription. If you want to use a zone from different resource group or subscription, please provide resource Id. CLI creates a new private dns zone within the same resource group as virtual network if not provided by users.

--sku-name

The name of the compute SKU. Follows the convention Standard_{VM name}. Examples: Standard_B1ms.

--storage-size

The storage capacity of the server. Minimum is 32 GiB and max is 16 TiB.

--subnet

Name or resource ID of a new or existing subnet. If you want to use a subnet from different resource group or subscription, please provide resource ID instead of name. Please note that the subnet will be delegated to flexibleServers. After delegation, this subnet cannot be used for any other type of Azure resources.

--subnet-prefixes

The subnet IP address prefix to use when creating a new subnet in CIDR format. Default value is 10.0.0.0/24.

--tags

Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags.

--tier

Compute tier of the server. Accepted values: Burstable, GeneralPurpose, MemoryOptimized.

--vnet

Name or ID of a new or existing virtual network. If you want to use a vnet from different resource group or subscription, please provide a resource ID. The name must be between 2 to 64 characters. The name must begin with a letter or number, end with a letter, number or underscore, and may contain only letters, numbers, underscores, periods, or hyphens.

--yes -y

Do not prompt for confirmation.

Default value: False
--zone -z

Availability zone into which to provision the resource.

Global Parameters
--debug

Increase logging verbosity to show all debug logs.

--help -h

Show this help message and exit.

--only-show-errors

Only show errors, suppressing warnings.

--output -o

Output format.

Accepted values: json, jsonc, none, table, tsv, yaml, yamlc
Default value: json
--query

JMESPath query string. See http://jmespath.org/ for more information and examples.

--subscription

Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID.

--verbose

Increase logging verbosity. Use --debug for full debug logs.

az postgres flexible-server replica list

List all read replicas for a given server.

az postgres flexible-server replica list --name
                                         --resource-group

Examples

List all read replicas for master server 'testserver'.

az postgres flexible-server replica list -g testGroup -n testserver

Required Parameters

--name -n

Name of the source server.

--resource-group -g

Name of resource group. You can configure the default group using az configure --defaults group=<name>.

Global Parameters
--debug

Increase logging verbosity to show all debug logs.

--help -h

Show this help message and exit.

--only-show-errors

Only show errors, suppressing warnings.

--output -o

Output format.

Accepted values: json, jsonc, none, table, tsv, yaml, yamlc
Default value: json
--query

JMESPath query string. See http://jmespath.org/ for more information and examples.

--subscription

Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID.

--verbose

Increase logging verbosity. Use --debug for full debug logs.

az postgres flexible-server replica promote

Stop replication of a read replica and promote it to an independent server or as a primary server.

az postgres flexible-server replica promote [--ids]
                                            [--name]
                                            [--promote-mode {standalone, switchover}]
                                            [--promote-option {forced, planned}]
                                            [--resource-group]
                                            [--subscription]
                                            [--yes]

Examples

Stop replication to 'testreplicaserver' and promote it a standalone read/write server.

az postgres flexible-server replica promote -g testGroup -n testreplicaserver

Stop replication to 'testreplicaserver' and promote it a standalone read/write server with forced data sync.

az postgres flexible-server replica promote -g testGroup -n testreplicaserver --promote-mode standalone --promote-option forced

Stop replication to 'testreplicaserver' and promote it to primary server with planned data sync. The replica you are promoting must have the reader virtual endpoint assigned, or you will receive an error on promotion.

az postgres flexible-server replica promote -g testGroup -n testreplicaserver --promote-mode switchover --promote-option planned

Optional Parameters

--ids

One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments.

--name -n

Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters.

--promote-mode

Whether to promote read replica to an independent server or promote it as a primary server.

Accepted values: standalone, switchover
Default value: standalone
--promote-option

Whether to sync data before promoting read replica or promote as soon as possible.

Accepted values: forced, planned
Default value: planned
--resource-group -g

Name of resource group. You can configure the default group using az configure --defaults group=<name>.

--subscription

Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID.

--yes -y

Do not prompt for confirmation.

Default value: False
Global Parameters
--debug

Increase logging verbosity to show all debug logs.

--help -h

Show this help message and exit.

--only-show-errors

Only show errors, suppressing warnings.

--output -o

Output format.

Accepted values: json, jsonc, none, table, tsv, yaml, yamlc
Default value: json
--query

JMESPath query string. See http://jmespath.org/ for more information and examples.

--subscription

Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID.

--verbose

Increase logging verbosity. Use --debug for full debug logs.

az postgres flexible-server replica stop-replication

Deprecated

This command has been deprecated and will be removed in a future release. Use 'postgres flexible-server replica promote' instead.

Stop replication to a read replica and make it a read/write server.

az postgres flexible-server replica stop-replication [--ids]
                                                     [--name]
                                                     [--resource-group]
                                                     [--subscription]
                                                     [--yes]

Examples

Stop replication to 'testreplicaserver' and make it a read/write server.

az postgres flexible-server replica stop-replication -g testGroup -n testreplicaserver

Optional Parameters

--ids

One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments.

--name -n

Name of the server. The name can contain only lowercase letters, numbers, and the hyphen (-) character. Minimum 3 characters and maximum 63 characters.

--resource-group -g

Name of resource group. You can configure the default group using az configure --defaults group=<name>.

--subscription

Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID.

--yes -y

Do not prompt for confirmation.

Default value: False
Global Parameters
--debug

Increase logging verbosity to show all debug logs.

--help -h

Show this help message and exit.

--only-show-errors

Only show errors, suppressing warnings.

--output -o

Output format.

Accepted values: json, jsonc, none, table, tsv, yaml, yamlc
Default value: json
--query

JMESPath query string. See http://jmespath.org/ for more information and examples.

--subscription

Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID.

--verbose

Increase logging verbosity. Use --debug for full debug logs.