你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
使用弹性群集的 Azure Database for PostgreSQL 是一种托管服务,可用于在云中运行、管理和缩放高度可用的 PostgreSQL 数据库,并提供横向扩展功能。 可以使用 Bicep 模板来预配 Azure Database for PostgreSQL 灵活服务器弹性群集实例。
Bicep 是一种特定于域的语言 (DSL),使用声明性语法来部署 Azure 资源。 它提供简明的语法、可靠的类型安全性以及对代码重用的支持。 Bicep 会针对你的 Azure 基础结构即代码解决方案提供最佳创作体验。
先决条件
拥有有效订阅的 Azure 帐户。 免费创建一个。
查看 Bicep 模板
Azure Database for PostgreSQL 灵活服务器弹性群集实例是区域中分布式数据库的父资源。 它提供应用于群集的管理策略的作用域:防火墙、用户、角色和配置。
创建一个 elastic-cluster-template.bicep 文件,并将以下脚本复制到其中。
param administratorLogin string
@secure()
param administratorLoginPassword string
param clusterName string
param location string = 'canadacentral'
param clusterSize int = 2
param skuName string = 'Standard_D4ds_v5'
param serverEdition string = 'GeneralPurpose'
param storageSizeGB int = 64
param availabilityZone string = '1'
param backupRetentionDays int = 7
resource server 'Microsoft.DBforPostgreSQL/flexibleServers@2025-08-01' = {
location: location
name: clusterName
properties: {
createMode: 'Default'
version: '17'
administratorLogin: administratorLogin
administratorLoginPassword: administratorLoginPassword
availabilityZone: availabilityZone
Storage: {
StorageSizeGB: storageSizeGB
Autogrow: 'Disabled'
}
Network: {
publicNetworkAccess: 'Enabled'
}
Backup: {
backupRetentionDays: backupRetentionDays
geoRedundantBackup: 'Disabled'
}
highAvailability: {
mode: 'Disabled'
}
cluster: {
clusterSize: clusterSize
}
}
sku: {
name: skuName
tier: serverEdition
}
}
param firewallRules object = {
rules: [
{
name: 'AllowAll'
startIPAddress: '0.0.0.0'
endIPAddress: '255.255.255.255'
}
]
}
// Create one child firewall rule per entry in firewallRules.rules
resource serverFirewallRules 'Microsoft.DBforPostgreSQL/flexibleServers/firewallRules@2025-08-01' = [
for rule in firewallRules.rules: {
name: rule.name
parent: server
properties: {
startIpAddress: rule.startIPAddress
endIpAddress: rule.endIPAddress
}
}
]
Bicep 文件中定义了以下资源:
部署 Bicep 文件
使用 Azure CLI 或 Azure PowerShell 部署 Bicep 文件。
az login
$resourceGroupName = Read-Host -Prompt "Enter a name for the resource group where the server will exist"
az deployment group create `
--resource-group $resourceGroupName `
--template-file ./elastic-cluster-template.bicep
系统提示输入以下值:
-
clusterName:输入用于标识 Azure Database for PostgreSQL 灵活服务器弹性群集实例的唯一名称。 域名
postgres.database.azure.com将追加到你提供的群集名称中。 群集名称只能包含小写字母、数字和连字符(-) 字符。 该名称必须至少包含 3 到 63 个字符。 -
administratorLogin:输入连接到服务器时要使用的自己的身份验证帐户。 例如,
clusterAdmin。 管理员身份验证名称不能为azure_superuser、、azure_pg_admin、adminadministrator、root、或guestpublic。 不能以pg_开头。 - administratorLoginPassword:为服务器管理员帐户输入新密码。 该密码必须包含 8 到 128 个字符。 密码必须含以下字符类别中的三类:英文大写字母、英文小写字母、数字(0 到 9)及非字母数字字符(!、$、#、% 等)。
查看已部署的资源
按照以下步骤验证是否已创建 Azure Database for PostgreSQL 灵活服务器弹性群集。
- Azure 门户
- CLI
- 在 Azure 门户中,搜索并选择“Azure Database for PostgreSQL 灵活服务器”。
- 在数据库列表中,选择新服务器以查看“ 概述 ”页来管理弹性群集。
注释
若要继续使用此资源组和弹性群集,请继续执行 “相关内容 ”部分中列出的后续建议步骤。 后续步骤演示如何对不同的应用程序分片模型和设计使用弹性群集。
清理资源
完成弹性群集环境后,请删除弹性群集资源。
若要删除弹性群集,请执行以下步骤: