Creación y administración de réplicas de lectura en Azure Database for PostgreSQL mediante PowerShell

Se aplica a: Azure Database for PostgreSQL: servidor único

Importante

El servicio de servidor único de Azure Database for PostgreSQL está en proceso de retirada. Se recomienda encarecidamente actualizar a Azure Database for PostgreSQL: servidor flexible. Para más información sobre la migración al servidor flexible de Azure Database for PostgreSQL, consulte ¿Qué sucede con el servicio de servidor único de Azure Database for PostgreSQL?.

En este artículo aprenderá a crear y administrar réplicas de lectura en el servicio Azure Database for PostgreSQL mediante PowerShell. Para más información acerca de las réplicas de lectura, consulte la introducción.

Azure PowerShell

Puede crear y administrar réplicas de lectura mediante PowerShell.

Requisitos previos

Para completar esta guía, necesita:

Importante

Mientras el módulo Az.PostgreSql PowerShell se encuentre en versión preliminar, debe instalarlo por separado del módulo Az PowerShell mediante el siguiente comando: Install-Module -Name Az.PostgreSql -AllowPrerelease. Una vez que el módulo Az.PostgreSql PowerShell esté disponible con carácter general, formará parte de las futuras versiones del módulo Az PowerShell y estará disponible de forma nativa en Azure Cloud Shell.

Si decide usar PowerShell de forma local, conéctese a su cuenta de Azure con el cmdlet Connect-AzAccount.

Azure Cloud Shell

En Azure se hospeda Azure Cloud Shell, un entorno de shell interactivo que puede utilizar mediante el explorador. Puede usar Bash o PowerShell con Cloud Shell para trabajar con los servicios de Azure. Puede usar los comandos preinstalados de Cloud Shell para ejecutar el código de este artículo sin tener que instalar nada en su entorno local.

Para iniciar Azure Cloud Shell:

Opción Ejemplo o vínculo
Seleccione Pruébelo en la esquina superior derecha de un bloque de código o de comandos. Solo con seleccionar Pruébelo no se copia automáticamente el código o comando en Cloud Shell. Captura de pantalla que muestra un ejemplo de la opción Pruébelo para Azure Cloud Shell.
Vaya a https://shell.azure.com o seleccione el botón Iniciar Cloud Shell para abrir Cloud Shell en el explorador. Botón para iniciar Azure Cloud Shell.
Seleccione el botón Cloud Shell en la barra de menús de la esquina superior derecha de Azure Portal. Captura de pantalla que muestra el botón de Cloud Shell en Azure Portal

Para usar Azure Cloud Shell:

  1. Inicie Cloud Shell.

  2. Seleccione el botón Copiar en un bloque de código (o bloque de comandos) para copiar el código o comando.

  3. Pegue el código o comando en la sesión de Cloud Shell. Para ello, seleccione Ctrl+Mayús+V en Windows y Linux, o bien seleccione Cmd+Mayús+V en macOS.

  4. Seleccione Enter para ejecutar el código o comando.

Importante

La característica de réplica de lectura solo está disponible para servidores de Azure Database for PostgreSQL en los planes de tarifa de uso general u optimizada para memoria. Asegúrese de que el servidor principal esté en uno de estos planes de tarifa.

Creación de una réplica de lectura

Un servidor de réplica de lectura se puede crear mediante el comando siguiente:

Get-AzPostgreSqlServer -Name mydemoserver -ResourceGroupName myresourcegroup |
  New-AzPostgreSqlReplica -Name mydemoreplicaserver -ResourceGroupName myresourcegroup

El comando New-AzPostgreSqlReplica requiere los siguientes parámetros:

Configuración Valor de ejemplo Descripción
ResourceGroupName  myresourcegroup  Grupo de recursos donde se crea el servidor de réplica. 
Nombre mydemoreplicaserver Nombre del nuevo servidor de réplica que se crea.

Para crear una réplica de lectura entre regiones, use el parámetro Location. En el siguiente ejemplo, se crea una réplica en la región Oeste de EE. UU. .

Get-AzPostgreSqlServer -Name mrdemoserver -ResourceGroupName myresourcegroup |
  New-AzPostgreSqlReplica -Name mydemoreplicaserver -ResourceGroupName myresourcegroup -Location westus

Para más información sobre las regiones en las que puede crear una réplica, consulte el artículo sobre los conceptos de la réplica de lectura.

De forma predeterminada, las réplicas de lectura se crean con la misma configuración de servidor que el servidor principal, a menos que se especifique el parámetro Sku.

Nota

Se recomienda mantener la configuración del servidor de réplica con valores iguales o mayores que el principal para asegurarse de que la réplica trabaja a la par que el servidor principal.

Enumeración de las réplicas de un servidor principal

Para ver todas las réplicas de un servidor principal determinado, ejecute el siguiente comando:

Get-AzPostgreSQLReplica -ResourceGroupName myresourcegroup -ServerName mydemoserver

El comando Get-AzPostgreSQLReplica requiere los siguientes parámetros:

Configuración Valor de ejemplo Descripción
ResourceGroupName  myresourcegroup  Grupo de recursos donde se creará el servidor de réplica. 
nombreDeServidor mydemoserver El nombre o el identificador del servidor principal.

Detención de un servidor de réplica

La detención de un servidor de réplica de lectura promueve la réplica de lectura para que sea un servidor independiente. Se puede llevar a cabo ejecutando el cmdlet Update-AzPostgreSqlServer y estableciendo el valor de ReplicationRole en None.

Update-AzPostgreSqlServer -Name mydemoreplicaserver -ResourceGroupName myresourcegroup -ReplicationRole None

Eliminación de un servidor de réplica

La eliminación de un servidor de réplica de lectura se puede realizar mediante la ejecución del cmdlet Remove-AzPostgreSqlServer.

Remove-AzPostgreSqlServer -Name mydemoreplicaserver -ResourceGroupName myresourcegroup

Eliminación de un servidor principal

Importante

Al eliminar un servidor principal, se detiene la replicación en todos los servidores de réplica y se elimina el propio servidor principal. Los servidores de réplica se convierten en servidores independientes que ahora admiten tanto lectura como escritura.

Para eliminar un servidor principal, puede ejecutar el cmdlet Remove-AzPostgreSqlServer.

Remove-AzPostgreSqlServer -Name mydemoserver -ResourceGroupName myresourcegroup

Pasos siguientes