更新数据库集群属性

您可以使用 GDC 控制台或 gdcloud CLI 更改以下数据库集群属性:

  • 管理员用户的数据库密码
  • 外部连接(已启用/已停用)
  • 可用性级别(仅限 AlloyDB Omni 和 PostgreSQL)
  • 已启用备份和备份保留天数
  • 数据库标志
  • 分配给数据库集群的 CPU、内存或存储空间

如需了解如何修改属性,请参阅与您要更新的属性类型对应的工作流:

控制台

高可用性

对于 AlloyDB Omni 和 PostgreSQL 数据库集群,您可以启用或停用同一可用区高可用性。如需了解详情,请参阅配置高可用性部分。

数据保护

对于所有数据库集群类型,您都可以启用或停用数据保护功能:

  1. 前往数据保护,然后点击修改图标 修改,以访问数据保护设置表单。如果启用了自动备份,您还可以配置备份的保留时长。
  2. 完成更改后,点击保存,以便将更新应用到数据库集群。

连接

对于所有数据库集群类型,您可以选择数据库集群是否只能从 GDC 项目内部访问,或者是否也可以从项目外部访问:

  1. 前往连接,然后依次点击修改 修改
  2. 更新连接配置。
  3. 点击保存以应用更改。

实例

对于所有数据库集群类型,您都可以修改主实例属性:

  1. 前往主实例,然后点击修改图标 修改
  2. 您可以选择高性能标准最低自定义配置。借助自定义选项,您可以为主要实例选择 CPU 数量、内存和存储空间。

  3. 更新主实例的 CPU、内存或存储空间需要重启实例。选择保存并重启以应用所做的更改。

对于所有数据库集群类型,您还可以使用此表单添加、修改或移除数据库标志。可用的标志集由 GDC 预先确定。如需了解详情,请参阅配置数据库标志部分。

gdcloud CLI

使用以下命令更新数据库集群: sh gdcloud database clusters update CLUSTER_NAME [options]

替换以下内容:

  • CLUSTER_NAME 替换为要更新的数据库集群的名称。

如需查看完整的选项列表,请参阅命令参考文档或运行 sh gdcloud database clusters update --help

API

数据保护

对于所有数据库集群类型,您都可以通过为相应数据库集群创建 BackupPlan 资源来启用数据保护功能。

apiVersion: DBENGINE_NAME.dbadmin.gdc.goog/v1
kind: BackupPlan
metadata:
  name: DBCLUSTER_NAME-backupplan
  namespace: USER_PROJECT
spec:
  dbclusterRef: DBCLUSTER_NAME
  backupRetainDays: RETENTION_DAYS

执行以下变量替换操作:

  • DBENGINE_NAME:数据库引擎的名称。可以是 alloydbomnipostgresqloracle
  • DBCLUSTER_NAME:要为其启用数据保护功能的数据库集群的名称。
  • USER_PROJECT:要在其中创建数据库集群的用户项目的名称。
  • RETENTION_DAYS:AlloyDB Omni 操作器保留此备份的天数。必须是介于 1 到 90 之间的整数。

您还可以通过修改相应的 BackupPlan 资源来配置数据保护设置,例如保留天数。

如需为数据库集群关闭数据保护功能,请删除之前创建的相应 BackupPlan 资源。

配置数据库标志

随 GDC 提供的数据库映像附带默认设置。不过,您可以自定义默认数据库引擎,以满足应用的要求。数据库集群提供了一些预定义的标志,您可以使用 GDC 控制台或 gdcloud CLI 设置这些标志:

控制台

  1. 在导航菜单中,选择数据库服务

  2. 在数据库集群列表中,点击要为其配置数据库标志的数据库集群。

  3. 数据库集群中的实例部分,点击修改主实例

    修改主数据库集群以配置标志。

  4. 标志部分,点击添加数据库标志

  5. 选择标志并输入值。如果您输入的值无效,GDC 控制台会提供有关如何满足所需范围或值类型的说明。

  6. 点击完成

  7. 如需设置配置,请点击保存。某些标志必须重启数据库集群才能生效。在这种情况下,请点击保存并重启

  8. 如需确认新标志已设置,请返回数据库集群的数据库集群中的实例部分,并验证新标志和值是否可见。

如需修改数据库标志,请返回标志部分,然后修改现有标志。将光标悬停在标志组件上,然后点击 Delete(删除)图标以移除数据库标志。

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.DBENGINE_NAME.dbadmin.gdc.goog DBCLUSTER_NAME -p '{"spec":{"primarySpec": {"parameters": DB_FLAGS}}}' --type=merge -n USER_PROJECT
    

    执行以下变量替换操作:

    • DBENGINE_NAME:数据库引擎的名称。可以是 alloydbomnipostgresqloracle
    • DBCLUSTER_NAME:数据库集群的名称。
    • USER_PROJECT:创建数据库集群的用户项目的名称。
    • DB_FLAGS:要添加或更新的数据库配置参数。这应是采用 JSON 格式的键值对对象,其中键是数据库参数名称,值是其各自的设置。例如,以下命令会设置多个数据库标志:
    "autovacuum": "on", "autovacuum_analyze_threshold": "2147483647", "dbs.enable_anon": "on"
    

    如需查看可用数据库标志的列表,请参阅可用数据库标志

  • 如需将所有数据库标志重置为默认设置,请运行以下命令:

    kubectl patch dbcluster.DBENGINE_NAME.dbadmin.gdc.goog DBCLUSTER_NAME --type=json -p='[{"op": "remove", "path": "/spec/primarySpec/parameters"}]' -n USER_PROJECT
    

    执行以下变量替换操作:

    • DBENGINE_NAME:数据库引擎的名称。可以是 alloydbomnipostgresqloracle
    • DBCLUSTER_NAME:数据库集群的名称。
    • USER_PROJECT:创建数据库集群的用户项目的名称。

可用的数据库标志

接下来,我们将根据您配置的数据库引擎提供可为数据库集群配置的数据库标志。

PostgreSQL 数据库标志

标志 范围 类型 需要重启
max_connections [1, 262143] 整数 TRUE
temp_file_limit [1048576, 2147483647] 整数 FALSE
log_min_duration_statement [-1, 2147483647] 整数 FALSE
log_connections 开启、关闭 布尔值 FALSE
log_lock_waits 开启、关闭 布尔值 FALSE
log_disconnections 开启、关闭 布尔值 FALSE
log_checkpoints 开启、关闭 布尔值 FALSE
log_temp_files [-1, 2147483647] 整数 FALSE
log_statement none、ddl、mod、all 枚举 FALSE
pgaudit.log read、write、function、role、ddl、misc、misc_set、
all、none、-read、-write、-function、-role、-ddl、
-misc、-misc_set、-all、-none
重复的字符串 FALSE
work_mem [64, 2147483647] 整数 FALSE
autovacuum 开启、关闭 布尔值 FALSE
maintenance_work_mem [1024, 2147483647] 整数 FALSE
random_page_cost [0, 2147483647] 浮点数 FALSE
log_min_messages debug5、debug4、debug3、debug2、debug1、info
notice、warning、error、log、fatal、panic
枚举 FALSE
idle_in_transaction_session_timeout [0, 2147483647] 整数 FALSE
max_wal_size [2, 2147483647]。 整数 FALSE
autovacuum_vacuum_scale_factor [0, 100] 浮点数 FALSE
log_autovacuum_min_duration [-1, 2147483647] 整数 FALSE
autovacuum_vacuum_cost_limit [-1, 10000] 整数 FALSE
autovacuum_max_workers [1, 262143] 整数 TRUE
autovacuum_analyze_scale_factor [0, 100] 浮点数 FALSE
track_activity_query_size [100, 1048576] 整数 TRUE
log_duration 开启、关闭 布尔值 FALSE
autovacuum_vacuum_cost_delay [-1, 100] 整数 FALSE
checkpoint_completion_target [0, 1] 浮点数 FALSE
log_statement_stats 开启、关闭 布尔值 FALSE
max_worker_processes [8, 4096] 整数 TRUE
log_min_error_statement debug5、debug4、debug3、debug2、debug1、info、
notice、warning、error、log、fatal、panic
枚举 FALSE
default_statistics_target [1, 10000] 整数 FALSE
checkpoint_timeout [30, 86400] 整数 FALSE
wal_buffers [-1, 262143 ] 整数 TRUE
effective_cache_size [1, 2147483647] 整数 FALSE
autovacuum_work_mem [1, 2147483647] 整数 FALSE
log_hostname 开启、关闭 布尔值 FALSE
autovacuum_vacuum_threshold [0, 2147483647] 整数 FALSE
autovacuum_naptime [1, 2147483] 整数 FALSE
autovacuum_analyze_threshold [0, 2147483647] 整数 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
autovacuum_freeze_max_age [100000, 2000000000] 整数 TRUE
autovacuum_multixact_freeze_max_age [10000, 2000000000] 整数 TRUE
pgaudit.log_statement_once 开启、关闭 布尔值 FALSE
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_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
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
rdkit.agent_FP_bit_ratio [0, 3] 浮点数 FALSE
rdkit.avalon_fp_size [64, 9192] 整数 FALSE
rdkit.dice_threshold [0, 1] 浮点数 FALSE
rdkit.difference_FP_weight_agents [-10, 10] 整数 FALSE
rdkit.difference_FP_weight_nonagents [1, 20] 整数 FALSE
rdkit.do_chiral_sss 开启、关闭 布尔值 FALSE
rdkit.do_enhanced_stereo_sss 开启、关闭 布尔值 FALSE
rdkit.featmorgan_fp_size [64, 9192] 整数 FALSE
rdkit.hashed_atompair_fp_size [64, 9192] 整数 FALSE
rdkit.hashed_torsion_fp_size [64, 9192] 整数 FALSE
rdkit.ignore_reaction_agents 开启、关闭 布尔值 FALSE
rdkit.init_reaction 开启、关闭 布尔值 FALSE
rdkit.layered_fp_size [64, 9192] 整数 FALSE
rdkit.morgan_fp_size [64, 9192] 整数 FALSE
rdkit.move_unmmapped_reactants_to_agents 开启、关闭 布尔值 FALSE
rdkit.rdkit_fp_size [64, 9192] 整数 FALSE
rdkit.reaction_difference_fp_size [64, 9192] 整数 FALSE
rdkit.reaction_difference_fp_type [1, 3] 整数 FALSE
rdkit.reaction_sss_fp_size [64, 9192] 整数 FALSE
rdkit.reaction_sss_fp_type [1, 5] 整数 FALSE
rdkit.sss_fp_size [64, 4096] 整数 FALSE
rdkit.tanimoto_threshold [0, 1] 浮点数 FALSE
rdkit.threshold_unmapped_reactant_atoms [0, 1] 浮点数 FALSE

下表指定了与供应商默认值不同的标志默认值:

标志 值/公式
shared_buffers 1/3 * totalMemory(MiB)
max_wal_size 1504MB
max_connections 总内存 >= ?
120 GB 1000
60 GB 800
15 GB 500
7.5 GB 400
6GB 200
3.75 GB 100
1.7GB 50
0 25
effective_cache_size 2/5 * totalMemory
temp_file_limit 1/10 * storageSize
log_connections 开启
log_disconnections 开启
pgaudit.log all, -misc
log_hostname 开启
pgaudit.log_parameter 开启

Oracle 数据库标志

标志 范围 类型 需要重启
aq_tm_processes [0, 40] 整数 FALSE
background_core_dump FULL(全额)、PARTIAL(部分) 枚举 FALSE
bitmap_merge_area_size [0, 2147483647] 整数 TRUE
control_management_pack_access 无、诊断、诊断+调谐 枚举 FALSE
cursor_sharing 强制、完全一致、类似 枚举 FALSE
db_cache_size [0, 10995116277760] 整数 FALSE
db_files [200, 20000] 整数 TRUE
db_flashback_retention_target [30, 2147483647] 整数 FALSE
db_keep_cache_size [0, 10995116277760] 整数 FALSE
db_recovery_file_dest_size [0, 10995116277760] 整数 FALSE
事件 字符串 TRUE
large_pool_size [0, 10995116277760] 整数 FALSE
log_buffer [2097152, 10995116277760] 整数 TRUE
open_cursors [5, 65535] 整数 FALSE
pga_aggregate_limit [0, 10995116277760] 整数 FALSE
pga_aggregate_target [10485760, 10995116277760] 整数 FALSE
进程 [100, 20000] 整数 TRUE
recyclebin 开启、关闭 枚举 TRUE
resource_limit TRUE、FALSE 布尔值 FALSE
sec_max_failed_login_attempts [1, 2147483647] 整数 TRUE
sga_max_size [377487360, 10995116277760] 整数 TRUE
sga_target [377487360, 10995116277760] 整数 FALSE
shared_pool_size [0, 10995116277760] 整数 FALSE
undo_retention [0, 2147483647] 整数 FALSE
global_names TRUE、FALSE 布尔值 FALSE
DBFIPS_140 TRUE、FALSE 布尔值 TRUE
parallel_max_servers [0, 32767] 整数 FALSE
_fix_control 字符串 FALSE
_sql_plan_directive_mgmt_control [0, 65535] 整数 FALSE
_optimizer_dsdir_usage_control [0, 126] 整数 FALSE
skip_unusable_indexes TRUE、FALSE 布尔值 FALSE

下表指定了与供应商默认值不同的标志默认值:

标志 值/公式
sga_target 4/5*(总内存 - 1GiB)
pga_aggregate_target 1/5* (totalMemory-1GiB)
open_cursors 300
进程 300
DBFIPS_140 TRUE
global_names TRUE

AlloyDB Omni 数据库标志

标志 范围 类型 需要重启
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