您可以使用 GDC 控制台或 gdcloud CLI 更改以下数据库集群属性:
- 管理员用户的数据库密码
- 外部连接(已启用/已停用)
- 可用性级别
- 已启用备份和备份保留天数
- 数据库标志
- 分配给数据库集群的 CPU、内存或存储空间
如需了解如何修改属性,请参阅与您要更新的属性类型对应的工作流:
控制台
高可用性
启用或停用同可用区高可用性。如需了解详情,请参阅配置高可用性部分。
数据保护
对于所有数据库集群类型,您都可以启用或停用数据保护:
- 前往数据保护,然后点击修改图标 修改,以访问数据保护设置表单。如果启用了自动备份,您还可以配置备份的保留期限。
- 完成更改后,点击保存,以便将更新应用到数据库集群。
连接
对于所有数据库集群类型,您可以选择数据库集群是否只能从 GDC 项目内部访问,或者是否也可以从项目外部访问:
- 前往连接,然后依次点击修改 修改。
- 更新连接配置。
点击保存以应用更改。
实例
对于所有数据库集群类型,您都可以修改主实例属性:
- 前往主实例,然后点击修改图标 修改。
您可以选择高性能、标准、最低或自定义配置。借助自定义选项,您可以为主要实例选择 CPU 数量、内存和存储空间。
更新主实例的 CPU、内存或存储空间需要重启实例。选择保存并重启以应用所做的更改。
对于所有数据库集群类型,您还可以使用此表单添加、修改或移除数据库标志。可用的标志集由 GDC 预先确定。如需了解详情,请参阅配置数据库标志部分。
gdcloud CLI
使用以下命令更新数据库集群:
sh
gdcloud database clusters update CLUSTER_NAME [options]
替换以下内容:
- 将 CLUSTER_NAME 替换为要更新的数据库集群的名称。
如需查看完整的选项列表,请参阅命令参考文档或运行 sh
gdcloud database clusters update --help
API
数据保护
对于所有数据库集群类型,您都可以通过为相应数据库集群创建 BackupPlan 资源来启用数据保护功能。
apiVersion: postgresql.dbadmin.gdc.goog/v1
kind: BackupPlan
metadata:
name: DBCLUSTER_NAME-backupplan
namespace: USER_PROJECT
spec:
dbclusterRef: DBCLUSTER_NAME
backupRetainDays: RETENTION_DAYS
执行以下变量替换操作:
DBCLUSTER_NAME:要为其启用数据保护功能的数据库集群的名称。USER_PROJECT:要在其中创建数据库集群的用户项目的名称。RETENTION_DAYS:操作器保留此备份的天数。必须是介于 1 到 90 之间的整数。
您还可以通过修改相应的 BackupPlan 资源来配置数据保护设置(例如保留天数)。
如需为数据库集群关闭数据保护功能,请删除之前创建的相应 BackupPlan 资源。
重置管理员用户密码
对于所有数据库集群类型,您都可以重置管理员用户的数据库密码。
创建密码 Secret。
apiVersion: v1 kind: Secret metadata: name: db-pw-DBCLUSTER_NAME namespace: USER_PROJECT type: Opaque data: DBCLUSTER_NAME: "BASE64_PASSWORD"修补 DBCluster。
kubectl patch dbcluster.postgresql.dbadmin.gdc.goog DBCLUSTER_NAME -p '{"spec":{"primarySpec": {"adminUser": {"passwordRef": {"name": "db-pw-DBCLUSTER_NAME"}}}}}' --type=merge -n USER_PROJECT
执行以下变量替换操作:
DBCLUSTER_NAME:数据库集群的名称。USER_PROJECT:要在其中更新数据库集群的用户项目的名称。BASE64_PASSWORD:数据库管理员密码的 base64 编码。
新密码大约需要一分钟才能生效。
配置数据库标志
随 GDC 提供的数据库映像附带默认设置。不过,您可以自定义默认数据库引擎,以满足应用的要求。数据库集群提供了一些预定义的标志,您可以使用 GDC 控制台或 gdcloud CLI 设置这些标志:
控制台
在导航菜单中,选择数据库服务。
在数据库集群列表中,点击要为其配置数据库标志的数据库集群。
在数据库集群中的实例部分中,点击修改主实例。

在标志部分,点击添加数据库标志。
选择标志并输入相应的值。如果您输入的值无效,GDC 控制台会提供有关如何满足所需范围或值类型的说明。
点击完成。
如需设置配置,请点击保存。某些标志必须重启数据库集群才能生效。在这种情况下,请点击保存并重启。
如需确认新标志已设置,请返回数据库集群的数据库集群中的实例部分,并验证新标志和值是否可见。
如需修改数据库标志,请返回标志部分,然后修改现有标志。将光标悬停在标志组件上,然后点击 删除图标以移除数据库标志。
gdcloud
您可以为集群配置新的数据库标志,也可以将所有现有标志重置回其默认值:
如需为数据库集群配置数据库标志,请运行以下命令:
gdcloud database clusters update CLUSTER_NAME \ --database-flags DB_FLAGS替换以下内容:
CLUSTER_NAME:数据库集群的名称。DB_FLAGS:要在数据库集群中运行的数据库上设置的数据库标志的英文逗号分隔列表。每个数据库标志和值都设置为键值对。 定义没有值的标志时,=字符后面可以不跟字符串。
例如,以下命令会为
test-db-cluster设置多个数据库标志:gdcloud database clusters update test-db-cluster \ --database-flags max_allowed_packet=55555,skip_grant_tables=,log_output=1如需查看可用数据库标志的列表,请参阅可用数据库标志。
如需将所有数据库标志重置为默认设置,请运行以下命令:
gdcloud database clusters update CLUSTER_NAME --clear-database-flags将
CLUSTER_NAME替换为数据库集群的名称。
API
如需为数据库集群配置数据库标志,请运行以下命令:
kubectl patch dbcluster.postgresql.dbadmin.gdc.goog DBCLUSTER_NAME -p '{"spec":{"primarySpec": {"parameters": DB_FLAGS}}}' --type=merge -n USER_PROJECT执行以下变量替换操作:
DBCLUSTER_NAME:数据库集群的名称。USER_PROJECT:创建数据库集群的用户项目的名称。DB_FLAGS:要添加或更新的数据库配置参数。这应是采用 JSON 格式的键值对对象,其中键是数据库参数名称,值是相应设置。例如,以下命令会设置多个数据库标志:
"autovacuum": "on", "autovacuum_analyze_threshold": "2147483647", "dbs.enable_anon": "on"如需查看可用数据库标志的列表,请参阅可用数据库标志。
如需将所有数据库标志重置为默认设置,请运行以下命令:
kubectl patch dbcluster.postgresql.dbadmin.gdc.goog DBCLUSTER_NAME --type=json -p='[{"op": "remove", "path": "/spec/primarySpec/parameters"}]' -n USER_PROJECT执行以下变量替换操作:
DBCLUSTER_NAME:数据库集群的名称。USER_PROJECT:创建数据库集群的用户项目的名称。
可用的数据库标志
| 标志 | 范围 | 类型 | 需要重启 |
|---|---|---|---|
| google_columnar_engine.enabled | 开启、关闭 | 布尔值 | TRUE |
| google_columnar_engine.memory_size_in_mb | [128, 2147483647] | 整数 | TRUE |
| anon.algorithm | 字符串 | FALSE | |
| anon.maskschema | 字符串 | FALSE | |
| anon.restrict_to_trusted_schemas | 开启、关闭 | 布尔值 | FALSE |
| anon.salt | 字符串 | FALSE | |
| anon.sourceschema | 字符串 | FALSE | |
| dbs.enable_anon | on、off | 布尔值 | TRUE |
| dbs.enable_pg_bigm | on、off | 布尔值 | TRUE |
| dbs.enable_pg_cron | on、off | 布尔值 | TRUE |
| dbs.enable_pg_hint_plan | on、off | 布尔值 | TRUE |
| dbs.enable_pg_squeeze | on、off | 布尔值 | TRUE |
| dbs.enable_pg_wait_sampling | on、off | 布尔值 | TRUE |
| pg_bigm.enable_recheck | 开启、关闭 | 布尔值 | FALSE |
| pg_bigm.gin_key_limit | [0, 2147483647] | 整数 | FALSE |
| pg_bigm.similarity_limit | [0, 1] | 浮点数 | FALSE |
| pg_hint_plan.debug_print | 关闭、开启、详细、冗余、0、1、2、3、否、是、false、true | 枚举 | TRUE |
| pg_hint_plan.enable_hint | 开启、关闭 | 布尔值 | FALSE |
| pg_hint_plan.enable_hint_table | 开启、关闭 | 布尔值 | FALSE |
| pg_hint_plan.message_level | debug5、debug4、debug3、debug2、debug1、debug、info、notice、warning、error、log | 枚举 | FALSE |
| pg_hint_plan.parse_messages | debug5、debug4、debug3、debug2、debug1、debug、info、notice、warning、error、log | 枚举 | FALSE |
| pg_stat_statements.max | [100, 2147483647] | 整数 | TRUE |
| pg_stat_statements.save | 开启、关闭 | 布尔值 | FALSE |
| pg_stat_statements.track | none、top、all | 枚举 | FALSE |
| pg_stat_statements.track_utility | 开启、关闭 | 布尔值 | FALSE |
| pg_wait_sampling.history_period | [1, 2147483647] | 整数 | FALSE |
| pg_wait_sampling.history_size | [1, 2147483647] | 整数 | FALSE |
| pg_wait_sampling.profile_period | [1, 2147483647] | 整数 | FALSE |
| pg_wait_sampling.profile_pid | 开启、关闭 | 布尔值 | FALSE |
| pg_wait_sampling.profile_queries | 开启、关闭 | 布尔值 | FALSE |
| pgaudit.log | read、write、function、role、ddl、misc、misc_set、 all、none、-read、-write、-function、-role、-ddl、 -misc、-misc_set、-all、-none |
重复的字符串 | FALSE |
| pgaudit.log_client | 开启、关闭 | 布尔值 | FALSE |
| pgaudit.log_parameter | 开启、关闭 | 布尔值 | FALSE |
| pgaudit.log_level | debug5、debug4、debug3、debug2、debug1、info、 notice、warning、error、log |
枚举 | FALSE |
| pgaudit.log_relation | 开启、关闭 | 布尔值 | FALSE |
| pgaudit.log_catalog | 开启、关闭 | 布尔值 | FALSE |
| pgaudit.role | 字符串 | FALSE | |
| pgaudit.log_statement_once | 开启、关闭 | 布尔值 | FALSE |
| pglogical.batch_inserts | 开启、关闭 | 布尔值 | TRUE |
| pglogical.conflict_log_level | debug5、debug4、debug3、debug2、debug1、info、notice、warning、error、log、fatal、panic | 枚举 | FALSE |
| pglogical.conflict_resolution | error、apply_remote、keep_local、last_update_wins、first_update_wins | 枚举 | FALSE |
| pglogical.extra_connection_options | 字符串 | FALSE | |
| pglogical.synchronous_commit | 开启、关闭 | 布尔值 | TRUE |
| pglogical.use_spi | 开启、关闭 | 布尔值 | TRUE |
| pgtt.enabled | 开启、关闭 | 布尔值 | FALSE |
| plv8.execution_timeout | [1, 65536] | 整数 | FALSE |
| plv8.memory_limit | [256, 3096] | 整数 | FALSE |
| plv8.start_proc | 字符串 | FALSE |