如何使用 PowerShell 在 Azure Database for PostgreSQL 中创建和管理只读副本

适用于:Azure Database for PostgreSQL 单一服务器

重要

Azure Database for PostgreSQL - 单一服务器即将停用。 强烈建议升级到 Azure Database for PostgreSQL - 灵活服务器。 有关迁移到 Azure Database for PostgreSQL 灵活服务器的详细信息,请参阅 Azure Database for PostgreSQL 单一服务器的最新动态?

本文介绍如何使用 PowerShell 在 Azure Database for PostgreSQL 服务中创建和管理只读副本。 若要详细了解只读副本,请参阅概述

Azure PowerShell

可以使用 PowerShell 创建和管理只读副本。

先决条件

若要完成本操作指南,需要:

重要

尽管 Az.PostgreSql PowerShell 模块为预览版,但必须使用以下命令从 Az PowerShell 模块单独安装它:Install-Module -Name Az.PostgreSql -AllowPrerelease

使用 Connect-AzAccount cmdlet 连接到 Azure 帐户。

重要

只读副本功能仅适用于“常规用途”或“内存优化”定价层中的 Azure Database for PostgreSQL 服务器。 请确保主服务器位于其中一个定价层中。

创建只读副本

可以使用以下命令创建只读副本服务器:

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

New-AzPostgreSqlReplica 命令需要以下参数:

设置 示例值 说明
ResourceGroupName  myresourcegroup  在其中创建副本服务器的资源组。 
名称 mydemoreplicaserver 所创建的新副本服务器的名称。

若要创建跨区域只读副本,请使用 Location 参数。 以下示例在“中国北部 2”区域中创建一个副本。

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

若要详细了解可以在哪些区域中创建副本,请访问只读副本概念文章

默认情况下,除非指定了 Sku 参数,否则将使用与主服务器相同的服务器配置来创建只读副本。

备注

建议副本服务器的配置应保持在与主服务器相同或更大的值,以确保副本能够与主服务器保持同步。

列出主服务器的副本

若要查看给定主服务器的所有副本,请运行以下命令:

Get-AzPostgreSQLReplica -ResourceGroupName myresourcegroup -ServerName mydemoserver

Get-AzPostgreSQLReplica 命令需要以下参数:

设置 示例值 说明
ResourceGroupName  myresourcegroup  要在其中创建副本服务器的资源组。 
ServerName mydemoserver 主服务器的名称或 ID。

停止副本服务器

停止只读副本服务器会将只读副本提升为独立服务器。 可以通过运行 Update-AzPostgreSqlServer cmdlet 并将 ReplicationRole 值设置为 None 来完成此操作。

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

删除副本服务器

可以通过运行 Remove-AzPostgreSqlServer cmdlet 来删除只读副本服务器。

Remove-AzPostgreSqlServer -Name mydemoreplicaserver -ResourceGroupName myresourcegroup

删除主服务器

重要

删除主服务器会停止复制到所有副本服务器,并会删除主服务器本身。 副本服务器成为现在支持读取和写入的独立服务器。

若要删除主服务器,可以运行 Remove-AzPostgreSqlServer cmdlet。

Remove-AzPostgreSqlServer -Name mydemoserver -ResourceGroupName myresourcegroup

后续步骤