本页面介绍了如何为 AlloyDB for PostgreSQL 集群中的实例添加数据库标志、修改数据库标志以及从实例中删除数据库标志。
您可以使用数据库标志执行许多操作,包括调整 PostgreSQL 参数、调整选项以及配置和优化实例。 除非您移除数据库标志或再次修改其值,否则对数据库标志值的修改会一直保留在相应实例中。
在某些情况下,设置一个标志时,可能需要设置另一个标志才能完全启用所需功能。
在您设置、移除或修改数据库实例的标志后,AlloyDB 可能会重启该实例。这取决于标志,如支持的数据库标志中所列。
当您在需要重启的主实例或读取池实例中修改数据库标志时,可以选择以下维护政策之一:
停机时间短。此政策默认处于启用状态。我们建议您为所有生产 AlloyDB 集群使用此政策,因为它可以最大限度地减少应用停机时间。
启用低停机时间政策后,更新需要重启集群主实例的标志会产生以下影响:
对于大多数工作负载,主实例的停机时间不到一秒。
主实例上的标志会在大约 15 分钟后完成更新,变为新值。
在读取池实例上更新需要重启的标志会产生以下影响:
读取池实例不需要停机。
读取池实例上的标志大约在 10 分钟后完成更新,变为新值。
强制应用。如需更快地应用标志更新,请将
FORCE_APPLY
选项与gcloud beta alloydb instances update
命令结合使用。此政策更适合开发环境,可让您快速添加或修改标志,但代价是实例停机时间更长,数据库性能或吞吐量暂时下降。在强制应用标志更新后,集群会在几分钟内恢复到最佳性能。
启用强制应用政策后,更新需要重新启动集群主实例的标志会产生以下影响:
主实例会停机约 1 分钟。
主实例上的标志会在一两分钟后完成更新,变为新值。
在读取池实例上更新需要重启的标志会产生以下影响:
读取池实例的停机时间约为一分钟。
读取池实例上的标志会在一两分钟后完成更新,变为新值。
准备工作
- 您使用的 Google Cloud 项目必须已启用才能访问 AlloyDB。
- 您必须在所使用的 Google Cloud 项目中拥有以下 IAM 角色之一:
roles/alloydb.admin
(AlloyDB Admin 预定义 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
:在您修改数据库标志后,集群所在项目正在进行低停机时间或零停机时间维护周期。
如需查看实例当前手动设置的标志列表,请运行以下命令:
gcloud alloydb instances describe INSTANCE_ID \
--region=REGION_ID \
--cluster=CLUSTER_ID \
--project=PROJECT_ID