本页介绍了如何为 AlloyDB for PostgreSQL 集群中的实例添加数据库标志、修改数据库标志,以及从实例中删除数据库标志。
您可以将数据库标志用于许多操作,包括调整 PostgreSQL 参数、调整选项以及配置和优化实例。对数据库标志值所做的修改会保留在其实例中,除非您移除该标志或再次修改其值。
在某些情况下,设置一个标志时,可能需要设置另一个标志才能完全启用所需功能。
当您设置、移除或修改数据库实例的标志时,AlloyDB 可能会重启该实例。这取决于标志,如支持的数据库标志中所列。
当您修改需要重启的主实例或读取池实例中的数据库标志时,可以选择以下维护政策之一:
停机时间短。此政策默认处于启用状态。我们建议您为所有生产 AlloyDB 集群使用此政策,因为它可最大限度地缩短应用停机时间。
启用“尽可能缩短停机时间”政策后,更新需要重启集群主实例的标志会产生以下影响:
对于大多数工作负载,主实例的停机时间不到 1 秒。
主实例上的标志大约需要 15 分钟才能更新为新值。
更新读取池实例上需要重启的标志会产生以下影响:
读取池实例无需停机。
读取池实例上的标志大约需要 10 分钟才能更新为新值。
强制应用。如需更快地应用标志更新,请将
FORCE_APPLY
选项与gcloud beta alloydb instances update
命令结合使用。此政策更适合开发环境,可让您快速添加或修改标志,但代价是实例停机时间更长,并且数据库性能或吞吐量会暂时降低。强制应用标志更新后,集群会在几分钟内恢复到峰值性能。
启用强制应用政策后,如果您更新了需要在集群的主实例上重启的标志,则会产生以下影响:
主实例会停机大约一分钟。
主实例上的标志会在一两分钟后更新为新值。
更新读取池实例上需要重启的标志会产生以下影响:
读取池实例会停机大约一分钟。
读取池实例上的标志会在一两分钟后更新为新值。
准备工作
- 您使用的 Google Cloud 项目必须已启用对 AlloyDB 的访问权限。
- 您必须在所使用的 Google Cloud 项目中拥有以下 IAM 角色之一:
roles/alloydb.admin
(AlloyDB 管理员预定义 IAM 角色)roles/owner
(Owner 基本 IAM 角色)roles/editor
(Editor 基本 IAM 角色)
如果您不具备上述任何角色,请与您的组织管理员联系以请求访问权限。
控制台
在 Google Cloud 控制台中,前往集群页面。
点击资源名称列中的某个集群。
在概览页面中,前往集群中的实例,选择一个实例,然后点击修改。
在实例中添加、修改或删除数据库标志:
添加标志
- 如需向实例添加数据库标志,请点击添加标志。
- 从新数据库标志列表中选择一个标志。
- 为标志提供值。
- 点击完成。
修改标志
- 如需修改实例中存在的数据库标志,请展开相应数据库标志,然后在修改数据库标志部分中修改现有标志的值。
- 点击完成。
删除标记
- 如需从实例中删除数据库标志,请选择相应标志,然后点击删除图标。
- 点击完成。
点击更新实例。
gcloud
使用 gcloud alloydb instances update
命令更改实例的数据库标志。
gcloud alloydb instances update INSTANCE_ID \
--database-flags FLAGS_LIST \
--region=REGION_ID \
--cluster=CLUSTER_ID \
--project=PROJECT_ID
如需更快地应用标志更新,请添加参数 --update-mode=FORCE_APPLY
。由于这可能会暂时降低数据库性能,因此请避免在生产环境中使用此选项。
gcloud beta alloydb instances update INSTANCE_ID \
--database-flags FLAGS_LIST \
--region=REGION_ID \
--cluster=CLUSTER_ID \
--project=PROJECT_ID \
--update-mode=FORCE_APPLY
替换以下内容:
INSTANCE_ID
:实例的 ID。FLAGS_LIST
:一个或多个数据库标志规范的英文逗号分隔列表。每个规范都由标志名称、等号 (=) 和要分配给标志的值组成。对于不带值的数据库标志,请提供标志名称后跟等号 (=)。REGION_ID
:实例所在的区域,例如us-central1
。CLUSTER_ID
:实例所在的集群的 ID。PROJECT_ID
:集群所在的项目的 ID。在您修改数据库标志后,进行的维护周期会出现较短或零停机时间。
如需查看实例当前手动设置的标志列表,请运行以下命令:
gcloud alloydb instances describe INSTANCE_ID \
--region=REGION_ID \
--cluster=CLUSTER_ID \
--project=PROJECT_ID