使用 Azure CLI 配置 Azure Database for PostgreSQL–灵活服务器的智能优化
适用于: Azure Database for PostgreSQL 灵活服务器
可以使用 Azure CLI 验证和更新 Azure Database for PostgreSQL 灵活服务器实例的智能优化配置。
若要了解有关智能优化的详细信息,请参阅概述。
先决条件
如果没有 Azure 订阅,请在开始前创建一个试用帐户。
安装或升级到 Azure CLI 的最新版本。 请参阅安装 Azure CLI。
使用 az login 命令登录到你的 Azure 帐户。 请记下
id
属性,它指的是你的 Azure 帐户的订阅 ID。az login
如果你有多个订阅,请选择要使用
az account set
命令在其中创建服务器的相应订阅:az account set --subscription <subscription id>
如果尚未创建 Azure Database for PostgreSQL 灵活服务器实例,请使用
az postgres flexible-server create
命令创建一个:az postgres flexible-server create --resource-group myresourcegroup --name myservername
验证当前设置
使用 az postgres flexible-server parameter show 命令确认智能优化功能的当前设置。
可以使用以下命令验证是否为资源组 myresourcegroup
下的服务器 mydemoserver.postgres.database.chinacloudapi.cn
激活了此功能:
az postgres flexible-server parameter show --resource-group myresourcegroup --server-name mydemoserver --name intelligent_tuning --query value
可以使用以下命令检查 intelligent_tuning.metric_targets
服务器参数的当前设置:
az postgres flexible-server parameter show --resource-group myresourcegroup --server-name mydemoserver --name intelligent_tuning.metric_targets --query value
启用智能优化
若要启用或禁用智能优化,请使用 az postgres flexible-server parameter set 命令。 可以从以下优化目标中进行选择:none
、Storage-checkpoint_completion_target
、Storage-min_wal_size
、Storage-max_wal_size
、Storage-bgwriter_delay
、tuning-autovacuum
和 all
。
重要
目前,拥有 4 个或以上 vCore 的“常规用途”和“内存优化”服务器计算层支持自动清理优化。 不支持可突发服务器计算层。
使用以下命令激活智能优化功能:
az postgres flexible-server parameter set --resource-group myresourcegroup --server-name mydemoserver --name intelligent_tuning --value ON
选择要激活的优化目标。
若要激活所有优化目标,请使用以下命令:
az postgres flexible-server parameter set --resource-group myresourcegroup --server-name mydemoserver --name intelligent_tuning.metric_targets --value all
若要仅启用自动清理优化,请使用以下命令:
az postgres flexible-server parameter set --resource-group myresourcegroup --server-name mydemoserver --name intelligent_tuning.metric_targets --value tuning-autovacuum
若要激活两个优化目标,请使用以下命令:
az postgres flexible-server parameter set --resource-group myresourcegroup --server-name mydemoserver --name intelligent_tuning.metric_targets --value tuning-autovacuum,Storage-bgwriter_delay
如果要将参数的值重置为默认值,只需排除可选的
--value
参数即可。 然后,服务应用默认值。 在之前的示例中,该命令如下所示,它会将intelligent_tuning.metric_targets
设置为none
:az postgres flexible-server parameter set --resource-group myresourcegroup --server-name mydemoserver --name intelligent_tuning.metric_targets
注意
intelligent_tuning
和 intelligent_tuning.metric_targets
服务器参数都是动态的,这意味着其值更改时无需重启服务器。
为优化目标选择值时的注意事项
从 intelligent_tuning.metric_targets
服务器参数中选择值时,请考虑以下注意事项:
NONE
值优先于所有其他值。 如果选择NONE
与其他值的任意组合,则该参数被视为设置为NONE
。 这相当于intelligent_tuning = OFF
,因此不会进行优化。ALL
值优先于所有其他值,但NONE
除外。 如果选择具有任意组合的ALL
,则除了NONE
之外,所有列出的参数都会进行优化。ALL
值包含所有现有指标目标。 此值还会自动应用于你将来可能添加的任何新指标目标。 这使得可对 Azure Database for PostgreSQL 灵活服务器实例进行全面且经得起未来考验的优化。如果要包含另一个优化目标,则需要同时指定现有优化目标和新优化目标。 例如,如果
bgwriter_delay
已启用,并且你想要添加自动清理优化,则命令应如下所示:az postgres flexible-server parameter set --resource-group myresourcegroup --server-name mydemoserver --name intelligent_tuning.metric_targets --value tuning-autovacuum,Storage-bgwriter_delay
仅指定新值的话,会覆盖当前设置。 在添加新优化目标时,请务必确保在命令中包含现有优化目标。