Creare e gestire le repliche di lettura dall'interfaccia della riga di comando di Azure, API RESTCreate and manage read replicas from the Azure CLI, REST API

Questo articolo illustra come creare e gestire le repliche di lettura nel database di Azure per PostgreSQL usando l'interfaccia della riga di comando di Azure e l'API REST.In this article, you learn how to create and manage read replicas in Azure Database for PostgreSQL by using the Azure CLI and REST API. Per altre informazioni sulle repliche in lettura, vedere la panoramica.To learn more about read replicas, see the overview.

Interfaccia della riga di comando di AzureAzure CLI

È possibile creare e gestire le repliche di lettura usando l'interfaccia della riga di comando di Azure.You can create and manage read replicas using the Azure CLI.

PrerequisitiPrerequisites

Preparare il server masterPrepare the master server

È necessario seguire questi passaggi per preparare un server master nei livelli Utilizzo generico o Con ottimizzazione per la memoria.These steps must be used to prepare a master server in the General Purpose or Memory Optimized tiers.

Il azure.replication_supportparametro deve essere impostato su REPLICA nel server master.The azure.replication_support parameter must be set to REPLICA on the master server. Quando questo parametro statico viene modificato, è necessario riavviare il server per rendere effettive le modifiche.When this static parameter is changed, a server restart is required for the change to take effect.

  1. Impostare azure.replication_support su REPLICA.Set azure.replication_support to REPLICA.

    az postgres server configuration set --resource-group myresourcegroup --server-name mydemoserver --name azure.replication_support --value REPLICA
    

Nota

Se si riceve l'errore "valore non valido specificato" durante il tentativo di impostare Azure. replication_support dall'interfaccia della riga di comando di Azure, è probabile che il server disponga già di una REPLICA impostata per impostazione predefinita.If you get the error "Invalid value given" while trying to set azure.replication_support from the Azure CLI, it is likely your server already has REPLICA set by default. Un bug impedisce che questa impostazione venga riflessa correttamente nei server più recenti in cui REPLICA è l'impostazione predefinita interna.A bug is preventing this setting from being correctly reflected on newer servers where REPLICA is the internal default.

È possibile ignorare i passaggi di preparazione del master e passare a creare la replica.You can skip the prepare master steps and go to create the replica.

Se si desidera confermare che il server è in questa categoria, visitare la pagina relativa alla replica del server nella portale di Azure.If you would like to confirm your server is in this category, visit the server's replication page in the Azure portal. "Disabilita replica" sarà disabilitato e "Aggiungi replica" sarà attivo sulla barra degli strumenti."Disable replication" will be grayed out and "Add Replica" will be active in the toolbar.

  1. Riavviare il server per applicare la modifica.Restart the server to apply the change.

    az postgres server restart --name mydemoserver --resource-group myresourcegroup
    

Creare una replica in letturaCreate a read replica

Il comando AZ Postgres server replica create richiede i parametri seguenti:The az postgres server replica create command requires the following parameters:

ImpostazioneSetting Valore di esempioExample value DescriptionDescription
resource-groupresource-group myresourcegroupmyresourcegroup Il gruppo di risorse in cui verrà creato il server di replica.The resource group where the replica server will be created.
namename mydemoserver-replicamydemoserver-replica Nome del nuovo server di replica creato.The name of the new replica server that is created.
source-serversource-server mydemoservermydemoserver Nome o ID risorsa del server master esistente da cui eseguire la replica.The name or resource ID of the existing master server to replicate from.

Nell'esempio dell'interfaccia della riga di comando riportata di seguito, la replica viene creata nella stessa area del database master.In the CLI example below, the replica is created in the same region as the master.

az postgres server replica create --name mydemoserver-replica --source-server mydemoserver --resource-group myresourcegroup

Per creare una replica di lettura tra aree, usare il parametro --location.To create a cross region read replica, use the --location parameter. L'esempio dell'interfaccia della riga di comando seguente crea la replica negli Stati Uniti occidentali.The CLI example below creates the replica in West US.

az postgres server replica create --name mydemoserver-replica --source-server mydemoserver --resource-group myresourcegroup --location westus

Nota

Per altre informazioni sulle aree in cui è possibile creare una replica, vedere l' articolo leggere i concetti relativi alla replica.To learn more about which regions you can create a replica in, visit the read replica concepts article.

Se il parametro azure.replication_support non è stato impostato su replica in un per utilizzo generico o in un server master con ottimizzazione per la memoria e il server è stato riavviato, viene visualizzato un errore.If you haven't set the azure.replication_support parameter to REPLICA on a General Purpose or Memory Optimized master server and restarted the server, you receive an error. Completare questi due passaggi prima di creare una replica.Complete those two steps before you create a replica.

Una replica viene creata usando le stesse impostazioni di calcolo e di archiviazione del database master.A replica is created by using the same compute and storage settings as the master. Dopo aver creato una replica, è possibile modificare diverse impostazioni in modo indipendente dal server master: la generazione di calcolo, i vCore, l'archiviazione e il periodo di conservazione dei backup.After a replica is created, several settings can be changed independently from the master server: compute generation, vCores, storage, and back-up retention period. È anche possibile modificare in modo indipendente il piano tariffario, tranne da o verso il livello Basic.The pricing tier can also be changed independently, except to or from the Basic tier.

Importante

Prima che un'impostazione del server master venga aggiornata a un nuovo valore, aggiornare l'impostazione della replica a un valore uguale o maggiore.Before a master server setting is updated to a new value, update the replica setting to an equal or greater value. Questa azione consente alla replica di rimanere al passo con le modifiche apportate al database master.This action helps the replica keep up with any changes made to the master.

Elencare le replicheList replicas

È possibile visualizzare l'elenco delle repliche di un server master usando il comando AZ Postgres server replica list .You can view the list of replicas of a master server by using az postgres server replica list command.

az postgres server replica list --server-name mydemoserver --resource-group myresourcegroup 

Arrestare la replica in un server di replicaStop replication to a replica server

È possibile arrestare la replica tra un server master e una replica di lettura usando il comando AZ Postgres server replica stop .You can stop replication between a master server and a read replica by using az postgres server replica stop command.

L'arresto della replica in un server master e una replica in lettura è irreversibile.After you stop replication to a master server and a read replica, it can't be undone. La replica in lettura diventa un server autonomo che supporta sia la lettura che la scrittura.The read replica becomes a standalone server that supports both reads and writes. Il server autonomo non può essere di nuovo impostato come replica.The standalone server can't be made into a replica again.

az postgres server replica stop --name mydemoserver-replica --resource-group myresourcegroup 

Eliminare un server master o di replicaDelete a master or replica server

Per eliminare un server master o di replica, è necessario usare il comando AZ Postgres server delete .To delete a master or replica server, you use the az postgres server delete command.

Quando viene eliminato un server master, la replica viene arrestata per tutte le repliche in lettura.When you delete a master server, replication to all read replicas is stopped. Le repliche in lettura diventano server autonomi che supportano sia la lettura che la scrittura.The read replicas become standalone servers that now support both reads and writes.

az postgres server delete --name myserver --resource-group myresourcegroup

API RESTREST API

È possibile creare e gestire le repliche di lettura usando l' API REST di Azure.You can create and manage read replicas using the Azure REST API.

Preparare il server masterPrepare the master server

È necessario seguire questi passaggi per preparare un server master nei livelli Utilizzo generico o Con ottimizzazione per la memoria.These steps must be used to prepare a master server in the General Purpose or Memory Optimized tiers.

Il azure.replication_supportparametro deve essere impostato su REPLICA nel server master.The azure.replication_support parameter must be set to REPLICA on the master server. Quando questo parametro statico viene modificato, è necessario riavviare il server per rendere effettive le modifiche.When this static parameter is changed, a server restart is required for the change to take effect.

  1. Impostare azure.replication_support su REPLICA.Set azure.replication_support to REPLICA.

    PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{masterServerName}/configurations/azure.replication_support?api-version=2017-12-01
    
    {
     "properties": {
     "value": "replica"
     }
    }
    
  2. Riavviare il server per applicare la modifica.Restart the server to apply the change.

    POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{masterServerName}/restart?api-version=2017-12-01
    

Creare una replica in letturaCreate a read replica

È possibile creare una replica di lettura tramite l' API di creazione:You can create a read replica by using the create API:

PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{replicaName}?api-version=2017-12-01
{
  "location": "southeastasia",
  "properties": {
    "createMode": "Replica",
    "sourceServerId": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{masterServerName}"
  }
}

Nota

Per altre informazioni sulle aree in cui è possibile creare una replica, vedere l' articolo leggere i concetti relativi alla replica.To learn more about which regions you can create a replica in, visit the read replica concepts article.

Se il parametro azure.replication_support non è stato impostato su replica in un per utilizzo generico o in un server master con ottimizzazione per la memoria e il server è stato riavviato, viene visualizzato un errore.If you haven't set the azure.replication_support parameter to REPLICA on a General Purpose or Memory Optimized master server and restarted the server, you receive an error. Completare questi due passaggi prima di creare una replica.Complete those two steps before you create a replica.

Una replica viene creata usando le stesse impostazioni di calcolo e di archiviazione del database master.A replica is created by using the same compute and storage settings as the master. Dopo aver creato una replica, è possibile modificare diverse impostazioni in modo indipendente dal server master: la generazione di calcolo, i vCore, l'archiviazione e il periodo di conservazione dei backup.After a replica is created, several settings can be changed independently from the master server: compute generation, vCores, storage, and back-up retention period. È anche possibile modificare in modo indipendente il piano tariffario, tranne da o verso il livello Basic.The pricing tier can also be changed independently, except to or from the Basic tier.

Importante

Prima che un'impostazione del server master venga aggiornata a un nuovo valore, aggiornare l'impostazione della replica a un valore uguale o maggiore.Before a master server setting is updated to a new value, update the replica setting to an equal or greater value. Questa azione consente alla replica di rimanere al passo con le modifiche apportate al database master.This action helps the replica keep up with any changes made to the master.

Elencare le replicheList replicas

È possibile visualizzare l'elenco delle repliche di un server master usando l' API dell'elenco di repliche:You can view the list of replicas of a master server using the replica list API:

GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{masterServerName}/Replicas?api-version=2017-12-01

Arrestare la replica in un server di replicaStop replication to a replica server

È possibile arrestare la replica tra un server master e una replica di lettura usando l' API di aggiornamento.You can stop replication between a master server and a read replica by using the update API.

L'arresto della replica in un server master e una replica in lettura è irreversibile.After you stop replication to a master server and a read replica, it can't be undone. La replica in lettura diventa un server autonomo che supporta sia la lettura che la scrittura.The read replica becomes a standalone server that supports both reads and writes. Il server autonomo non può essere di nuovo impostato come replica.The standalone server can't be made into a replica again.

PATCH https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{masterServerName}?api-version=2017-12-01
{
  "properties": {
    "replicationRole":"None"  
   }
}

Eliminare un server master o di replicaDelete a master or replica server

Per eliminare un server master o di replica, usare l' API Delete:To delete a master or replica server, you use the delete API:

Quando viene eliminato un server master, la replica viene arrestata per tutte le repliche in lettura.When you delete a master server, replication to all read replicas is stopped. Le repliche in lettura diventano server autonomi che supportano sia la lettura che la scrittura.The read replicas become standalone servers that now support both reads and writes.

DELETE https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}?api-version=2017-12-01

Passaggi successiviNext steps