如何使用 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