Creare e gestire le repliche in lettura dall'interfaccia della riga di comando di Azure, API REST
SI APPLICA A: Database di Azure per PostgreSQL - Server singolo
Importante
Database di Azure per PostgreSQL - Il server singolo è in fase di ritiro. È consigliabile eseguire l'aggiornamento a Database di Azure per PostgreSQL - Server flessibile. Per altre informazioni sulla migrazione a Database di Azure per PostgreSQL - Server flessibile, vedere Cosa succede a Database di Azure per PostgreSQL - Server singolo?.
Questo articolo illustra come creare e gestire le repliche in lettura nel Database di Azure per PostgreSQL utilizzando l'interfaccia della riga di comando di Azure e API REST. Per altre informazioni sulle repliche in lettura, vedere la panoramica.
Supporto replica di Azure
Le repliche in lettura e la decodifica logica dipendono dal log di scrittura in avanti Postgres (WAL) per informazioni. Queste due funzionalità richiedono livelli diversi di registrazione da Postgres. La decodifica logica richiede un livello superiore di registrazione rispetto alle repliche in lettura.
Per configurare il livello corretto di registrazione, usare il parametro di supporto della replica di Azure. Il supporto della replica di Azure include tre opzioni di impostazione:
- Off : inserisce le informazioni meno contenute nel WAL. Questa impostazione non è disponibile nella maggior parte dei server di Database di Azure per PostgreSQL.
- Replica : più dettagliato rispetto a Off. Si tratta del livello minimo di registrazione necessario per il funzionamento delle repliche in lettura. Questa impostazione è l'impostazione predefinita nella maggior parte dei server.
- Logico : più dettagliato rispetto a Replica. Si tratta del livello minimo di registrazione per il funzionamento della decodifica logica. Le repliche di lettura funzionano anche in questa impostazione.
Nota
Quando si distribuiscono repliche per carichi di lavoro primari persistenti, pesanti e a elevato utilizzo di scrittura, l'intervallo di replica può continuare ad aumentare senza mai raggiungere il database primario. Ciò può anche aumentare l'utilizzo dell'archiviazione nel database primario, perché i file WAL non vengono eliminati fino a quando non vengono ricevuti dalla replica.
Interfaccia della riga di comando di Azure
È possibile creare e gestire repliche in lettura usando l'interfaccia della riga di comando di Azure.
Prerequisiti
- Installare l'interfaccia della riga di comando di Azure 2.0
- Un server di Database di Azure per PostgreSQL come server primario.
Preparare il server primario
Controllare il valore
azure.replication_support
del server primario. Dovrebbe essere almeno REPLICA perché le repliche in lettura possano funzionare.az postgres server configuration show --resource-group myresourcegroup --server-name mydemoserver --name azure.replication_support
Se
azure.replication_support
non è almeno REPLICA, impostarlo.az postgres server configuration set --resource-group myresourcegroup --server-name mydemoserver --name azure.replication_support --value REPLICA
Riavviare il server per applicare la modifica.
az postgres server restart --name mydemoserver --resource-group myresourcegroup
Creare una replica in lettura
Il comando az postgres server replica create richiede i parametri seguenti:
Impostazione | Valore di esempio | Descrizione |
---|---|---|
resource-group | myresourcegroup | Gruppo di risorse in cui verrà creato il server di replica. |
name | mydemoserver-replica | Nome del nuovo server di replica creato. |
source-server | mydemoserver | Nome o ID risorsa del server primario esistente da cui eseguire la replica. Usare l'ID risorsa se si desidera che i gruppi di risorse della replica e del database primario siano diversi. |
Nell'esempio dell'interfaccia della riga di comando seguente la replica viene creata nella stessa area del database primario.
az postgres server replica create --name mydemoserver-replica --source-server mydemoserver --resource-group myresourcegroup
Per creare una replica in lettura tra più aree, usare il parametro --location
. L'esempio dell'interfaccia della riga di comando seguente crea la replica negli Stati Uniti occidentali.
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 Concetti relativi alle repliche in lettura.
Se il parametro azure.replication_support
non è stato impostato su REPLICA nel server primario di Utilizzo generico o Con ottimizzazione per la memoria e il server non è stato riavviato, si riceverà un errore. Completare questi due passaggi prima di creare una replica.
Importante
Rivedere la sezione considerazioni della panoramica di Replica in lettura.
Prima che un'impostazione del server primario venga aggiornata a un nuovo valore, aggiornare l'impostazione della replica su un valore uguale o maggiore. Questa azione fa sì che le repliche siano sempre aggiornate con le modifiche apportate al primario.
Elencare repliche
È possibile visualizzare l'elenco delle repliche di un server primario usando il comando az postgres server replica list .
az postgres server replica list --server-name mydemoserver --resource-group myresourcegroup
Arrestare la replica in un server di replica
È possibile arrestare la replica tra un server primario e una replica in lettura usando il comando az postgres server replica stop.
L'arresto della replica in un server primario e una replica in lettura è irreversibile. La replica in lettura diventa un server autonomo che supporta sia la lettura che la scrittura. Il server autonomo non può essere di nuovo impostato come replica.
az postgres server replica stop --name mydemoserver-replica --resource-group myresourcegroup
Eliminare un server primario o di replica
Per eliminare un server primario o di replica, usare il comando az postgres server delete.
Quando viene eliminato un server primario, la replica viene arrestata per tutte le repliche in lettura. Le repliche in lettura diventano server autonomi che supportano sia la lettura che la scrittura.
az postgres server delete --name myserver --resource-group myresourcegroup
REST API
È possibile creare e gestire repliche in lettura usando l'API REST di Azure.
Preparare il server primario
Controllare il valore
azure.replication_support
del server primario. Dovrebbe essere almeno REPLICA perché le repliche in lettura possano funzionare.GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{masterServerName}/configurations/azure.replication_support?api-version=2017-12-01
Se
azure.replication_support
non è almeno REPLICA, impostarlo.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" } }
Riavviare il server per applicare la modifica.
POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{masterServerName}/restart?api-version=2017-12-01
Creare una replica in lettura
È possibile creare una replica in lettura usando l'API di creazione:
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 Concetti relativi alle repliche in lettura.
Se il parametro azure.replication_support
non è stato impostato su REPLICA nel server primario di Utilizzo generico o Con ottimizzazione per la memoria e il server non è stato riavviato, si riceverà un errore. Completare questi due passaggi prima di creare una replica.
Una replica viene creata usando le stesse impostazioni di calcolo e archiviazione del server primario. Dopo aver creato una replica, è possibile modificare diverse impostazioni in modo indipendente dal server primario: la generazione di calcolo, i vCore, l'archiviazione e il periodo di conservazione dei backup. È anche possibile modificare in modo indipendente il piano tariffario, tranne da o verso il livello Basic.
Importante
Prima che un'impostazione del server primario venga aggiornata a un nuovo valore, aggiornare l'impostazione della replica su un valore uguale o maggiore. Questa azione fa sì che le repliche siano sempre aggiornate con le modifiche apportate al primario.
Elencare repliche
È possibile visualizzare l'elenco delle repliche di un server primario usando l'API elenco di repliche:
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 replica
È possibile arrestare la replica tra un server primario e una replica in lettura usando l'API di aggiornamento.
L'arresto della replica in un server primario e una replica in lettura è irreversibile. La replica in lettura diventa un server autonomo che supporta sia la lettura che la scrittura. Il server autonomo non può essere di nuovo impostato come replica.
PATCH https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{replicaServerName}?api-version=2017-12-01
{
"properties": {
"replicationRole":"None"
}
}
Eliminare un server primario o di replica
Per eliminare un server primario o la replica, usare l'API di eliminazione:
Quando viene eliminato un server primario, la replica viene arrestata per tutte le repliche in lettura. Le repliche in lettura diventano server autonomi che supportano sia la lettura che la scrittura.
DELETE https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}?api-version=2017-12-01
Passaggi successivi
- Vedere altre informazioni sulle repliche in lettura in Database di Azure per PostgreSQL.
- Informazioni su come creare e gestire le repliche in lettura nel portale di Azure.
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per