华为云用户手册

  • enable_dynamic_workload 参数说明:是否开启动态负载管理功能。 参数类型:POSTMASTER 取值范围:布尔型 on表示打开动态负载管理功能。 off表示关闭动态负载管理功能。 默认值:on 开启内存自适应后,收集统计信息后不再需要使用work_mem进行算子内存使用调优,由系统根据当前负载情况,为每个语句生成计划,并估算每个算子的内存使用量和整个语句的内存使用量。系统根据负载情况和整个语句内存使用量进行队列调度,所以多并发场景会出现语句排队的情况。 由于优化器估算内存存在估算不准的情况,会出现语句内存使用量低估或高估的情况。低估时,执行时内存会自动扩展。高估时,会导致系统内存利用不足,排队语句增多,可能导致性能非最优。此时需要识别语句估算内存远大于实际DN峰值内存的语句,通过设置query_max_mem进行调优,详见SQL调优关键参数调整。 由于优化器估算内存存在估算不准的情况,8.2.1之前的集群版本中为了避免出现CCN全局排队的情况,经常需要关闭enable_dynamic_workload参数,这样操作会导致动态负载管理功能不可用。因此在8.2.1集群版本中引入了enable_global_memctl,在出现CCN异常排队情况时,可直接关闭参数enable_global_memctl,作业即可下发至资源池运行。
  • transaction_pending_time 参数说明:当enable_transaction_parctl为on时,事务块语句和存储过程语句排队的最大时间。 参数类型:USERSET 取值范围:整型,-1~INT_MAX,单位为秒。 值为-1或0:事务块语句和存储过程语句无超时判断,排队至资源满足可执行条件。 值大于0:事务块语句和存储过程语句排队超过所设数值的时间后,无视当前资源情况强制执行。 默认值:0 此参数仅对存储过程及事务块的内部语句有效,即PG_SESSION_WLMSTAT中enqueue字段显示为Transaction或StoredProc的语句才会生效。
  • wlm_sql_allow_list 参数说明:用于指定资源管理SQL白名单语句,SQL白名单语句不受资源管理监控。 参数类型:SIGHUP 取值范围:字符串,支持最大字符为1024 默认值:空 wlm_sql_allow_list中可指定一条或多条SQL白名单语句,指定多条时,通过“;”进行分隔。 系统通过前置匹配判断SQL语句是否受监控,不区分大小写,例如:wlm_sql_allow_list='SELECT',则所有select语句均不受资源管理监控。 识别参数值白名单字符串头部的空格,例如:'SELECT'与' SELECT'的含义是不一致的,' SELECT'只过滤头部带空格的SELECT语句。 系统默认部分SQL语句为白名单语句,默认白名单语句不可修改;可以通过系统视图gs_wlm_sql_allow查询默认和已经通过GUC设置成功的SQL白名单语句。 通过wlm_sql_allow_list指定的SQL语句不可追加,只能通过覆盖的方式设置;若需追加SQL语句,需要先查出原先指定的GUC值,在原值后面加补上新增的语句,以“;”分隔后重新设置。
  • query_exception_count_limit 参数说明:设置作业触发异常规则次数的上限。作业触发异常规则次数达到上限后该作业会被自动加入黑名单且禁止再执行,只有移除黑名单后才能恢复运行。 参数类型:USERSET 取值范围:整型,-1~INT_MAX。 值为-1时,表示对作业触发异常规则的次数不做限制,即作业触发异常规则次数再多也不会自动将该作业加入黑名单。 值大于等于0时,表示作业触发异常规则次数达到阈值时该作业立即被加入黑名单。其中,0和1含义相同,表示只要作业触发异常规则即会将作业加入黑名单。 默认值:-1
  • enable_strict_memory_expansion 参数说明:是否开启对语句内存扩展的严格控制。(该参数仅8.2.0及以上集群版本支持) 语句在CN节点上会计算出估算内存,用该值来预占内存资源,在DN节点上会根据系统负载情况,在语句内存不足时尝试做内存扩展,以提升语句的执行效率。当打开此参数时,将会严格限制语句内存扩展的范围,尽可能保证语句的内存扩展不会超过语句的最大估算内存。语句的算子内存每次扩展是按比例扩展,因此,可能出现最后一次扩展内存之后一定幅度超过限制的现象,但能实现限制语句内存扩展在一定范围内。 参数类型:SIGHUP 取值范围:布尔型 on表示打开对语句内存扩展的严格控制。 off表示关闭对语句内存扩展的严格控制。 默认值:off
  • wlm_memory_feedback_adjust 参数说明:是否开启动态负载管理中的内存负反馈功能。(该参数仅8.2.0及以上集群版本支持) 语句在CN节点上会计算出估算内存,用该值来预占内存资源,语句内存过高估算场景时,语句预占内存资源过大,会引发后续作业排队,导致系统资源利用率下降,内存负反馈机制,会基于DN上的实际使用内存情况,判断如果集群连续一段时间处于高估场景时,会由CCN节点动态降低语句在CN预占的内存资源,将高估的内存腾让出来,给后续作业使用,从一定程度上缓解了语句严重高估导致系统资源利用率下降的问题。 参数类型:SIGHUP 取值范围:字符串 on表示启用内存负反馈功能。 off表示关闭内存负反馈功能。 on(触发负反馈需要的时间,触发负反馈需要的估算内存百分比)表示启用内存负反馈功能,并且指定触发负反馈需要的时间以及触发负反馈需要的估算内存百分比参数。例如:on(60,50)表示启用内存负反馈功能,触发负反馈机制生效需要连续60秒都是高估场景,还需要语句预占的估算内存总值要超过系统可用内存的50%。默认触发负反馈机制生效的时间长度为50秒,默认触发负反馈生效的最低估算内存总值要超过系统可用内存的40%。 默认值:on
  • enable_global_memctl 参数说明:是否开启全局内存管理功能。该参数仅8.2.1及以上集群版本支持。 参数类型:SIGHUP 取值范围:布尔型 on表示打开全局内存管控的限制。 off表示关闭全局内存管控的限制。 默认值:on 动态负载功能包含两层内存管控队列:全局内存管控和资源池管控。全局内存管控通过作业的查询估算内存进行判断作业是否可进行下发,资源池管控通过资源池参数决定作业是否下发。8.2.1集群版本之前,开启动态负载管理功能后默认打开全局内存管控功能,由于可能存在优化器行数估算不准而出现语句内存使用量低估或高估,导致作业在CCN进行全局内存管控队列排队的情况。因此 GaussDB (DWS)在8.2.1集群版本用该参数控制全局内存管控队列是否开启,以提高作业运行效率和减少CCN异常排队的情况发生。
  • resource_track_cost 参数说明:设置对当前会话的语句进行资源监控的最小执行代价。该参数只有当参数enable_resource_track为on时才有效。 参数类型:USERSET 取值范围:整型,-1~INT_MAX 值为-1时,不进行资源监控。 值大于或等于0时,对执行代价超过该参数值的语句进行资源监控。 默认值:0 新建集群默认值为0,升级场景该参数的默认值为保持前向兼容维持原值。
  • enable_wlm_internal_memory_limit 参数说明:是否开启负载管理对语句估算内存的内置限制功能。(该参数仅8.2.0及以上集群版本支持) 负载管理中的内存管理模块中,会对语句的估算内存做一些内置限制,如: 语句的估算内存无法超过关联资源池内存上限的80%。 当资源池的并发控制参数active_statements不为1时,语句的估算内存无法超过关联资源池内存上限的40%。 内核中语句的估算内存开始时是一个范围值,可以理解为[最小估算内存,最大估算内存],其中,最大估算内存为语句运行性能最佳所需要的内存资源,最小估算内存为通过结果集下盘而保证语句能运行所需要的内存资源;最终的语句估算内存会在这个范围内取一个合理值,这个范围值中的最大估算内存也无法超过关联资源池内存上限的90%; 这些内置限制的目的是为了防止语句内存过高估算场景,高估场景下,语句预占内存资源过大,会引发后续作业排队,导致系统资源利用率下降,因此,内核限制了单个语句的估算内存上限值。内置限制可能会导致语句执行计划不是最优,可能在一定程度上影响单个语句性能;从8.2.0集群版本开始增加了内存负反馈机制,从一定程度上缓解了语句严重高估导致系统资源利用率下降的问题。为此,对应的从8.2.0版本开始,增加了enable_wlm_internal_memory_limit参数,由用户自由控制是否开启内置限制功能。 参数类型:SIGHUP 取值范围:布尔型 on表示打开负载管理对语句估算内存的内置限制。 off表示关闭负载管理对语句估算内存的内置限制。 默认值:on
  • allow_zero_estimate_memory 参数说明:是否允许语句估算内存为0。(该参数仅8.2.0及以上集群版本支持) 当语句查询的表没有统计信息时,该语句在CN节点上的估算内存可能设置为0,当估算内存为0时,语句的内存将会变化为算子内存受到work_mem限制(work_mem来限制算子内存的方式已经不推荐使用),如果work_mem设置较大,而语句的算子数量较多时,语句的实际内存值也能会较大,该参数设置为off时,将不允许未做analyze的查询出现估算内存为0,避免不可预期的问题。 参数类型:SIGHUP 取值范围:布尔型 on表示允许语句估算内存为0。 off表示不允许语句估算内存为0。 默认值:on
  • session_respool 参数说明:当前的session关联的resource pool。 参数类型:USERSET 即如果先设置cgroup_name,再设置session_respool,那么session_respool关联的控制组起作用,如果再切换cgroup_name,那么新切换的cgroup_name起作用。 切换cgroup_name的过程中如果指定到Workload控制组级别,数据库不对级别进行验证。级别的范围只要在1-10范围内都可以。 建议尽量不要混合使用cgroup_name和session_respool。 取值范围:字符串,通过create resource pool所设置的资源池。 默认值:invalid_pool
  • topsql_retention_time 参数说明:设置历史TopSQL中gs_wlm_session_info和gs_wlm_operator_info表中数据的保存时间。 参数类型:SIGHUP 取值范围:整型,0~3650,单位为天。 值为0时,表示数据永久保存。 值大于0时,表示数据能够保存的对应天数。 默认值:30 设置此GUC参数启用数据保存功能前,请先清理gs_wlm_session_info和gs_wlm_operator_info表中的数据。 新建集群默认值为30,升级场景该参数的默认值为保持前向兼容维持原值。
  • time_track_strategy 参数说明:设置当前会话算子执行时间收集采用的策略。该参数仅8.2.1及以上集群版本支持。 参数类型:SIGHUP 取值范围:枚举型 tsc,使用TSC(Time-Stamp Counter)进行算子执行时间的收集,适用perf级别的Top SQL以及EXPLAIN,且仅针对非向量化算子。其他场景依然使用时间函数进行执行时间的收集。 vector,关闭perf级别Top SQL非向量化算子执行时间的收集,其他场景不受影响,依然使用时间函数进行执行时间的收集。 timer,所有场景均使用时间函数进行时间算子执行时间的收集,8.2.0及之前的集群版本均使用该方法进行算子执行时间的收集。 默认值:timer TSC有两种转换时间的方法,包括TSC频率和换算数。X86平台默认仅能使用TSC频率,ARM平台默认优先使用TSC换算数。可通过tsc相关的视图或者函数查看当前或者所有节点的TSC换算信息。 新安装集群场景下,该参数的默认值为tsc。升级场景下,该参数为保持前向兼容,其默认值为timer。
  • cgroup_name 参数说明:设置当前使用的Cgroups的名字或者调整当前group下排队的优先级。 即如果先设置cgroup_name,再设置session_respool,那么session_respool关联的控制组起作用,如果再切换cgroup_name,那么新切换的cgroup_name起作用。 切换cgroup_name的过程中如果指定到Workload控制组级别,数据库不对级别进行验证。级别的范围只要在1-10范围内都可以。 参数类型:USERSET 建议尽量不要混合使用cgroup_name和session_respool。 取值范围:字符串 默认值:DefaultClass:Medium DefaultClass:Medium表示DefaultClass下Timeshare控制组中的Medium控制组。
  • enable_user_metric_persistent 参数说明:设置是否开启用户/资源池历史资源监控转存功能。开启时,对于PG_TOTAL_USER_RESOURCE_INFO视图中数据,会定期采样保存到GS_WLM_USER_RESOURCE_HISTORY系统表中;对于GS_RESPOOL_RESOURCE_INFO视图中数据,会定期采样保存到GS_RESPOOL_RESOURCE_HISTORY系统表中。 参数类型:SIGHUP 取值范围:布尔型 on表示开启用户/资源池历史资源监控转存功能。 off表示关闭用户/资源池历史资源监控转存功能。 默认值:on
  • resource_track_level 参数说明:设置当前会话的资源监控的等级。该参数只有当参数enable_resource_track为on时才有效。 参数类型:USERSET 取值范围:枚举型 none,不开启资源监控功能。 query,开启query级别资源监控功能,开启此功能会把SQL语句的计划信息(类似explain输出信息)记录到TopSQL中。 perf,开启perf级别资源监控功能,开启此功能会把包含实际执行时间和执行行数的计划信息(类似explain analyze输出信息)记录到TopSQL中。 operator,开启operator级别资源监控功能,开启此功能不仅会把包含实际执行时间和执行行数的信息记录到TopSQL中,还会把算子级别执行信息刷新到TopSQL中。 默认值:query
  • space_readjust_schedule 参数说明:空间管控和空间统计功能中,控制是否触发自动校准以及校准空间误差阈值。该参数8.1.3及以上集群版本支持。 参数类型:SIGHUP 取值范围:字符串 off表示关闭自动校准功能。 auto表示打开自动校准功能,并且触发自动校准的差误阈值为1GB。 auto(空间大小+K/M/G)表示打开自动校准功能,并且触发自动校准的误差阈值为自定义的空间大小KB/MB/GB。例如,auto(200M)表示打开自动校准功能,且触发自动校准的误差阈值为200MB。 默认值:auto
  • default_partition_cache_strategy 参数说明:控制分区缓存的默认策略。该参数8.3.0及以上集群版本支持。 参数类型:USERSET 取值范围:枚举类型 cache_each_partition_as_possible表示尽可能的缓存插入的数据,插入时遇到不同分区的数据并不一定将数据刷入CU。 flush_when_switch_partition表示插入时数据属于不同分区就将数据刷入CU。 默认值:cache_each_partition_as_possible
  • max_queue_statements 参数说明:设置最大排队长度。该参数仅8.3.0及以上集群版本支持。 该参数只在CN上应用,针对集群上的所有执行作业,当排队作业超过该参数设置值后,若继续下发作业,系统会报错,提示排队超长。 该参数支持全部排队队列,包含全局并发排队队列、快车道排队队列、慢车道排队队列、CCN全局内存排队队列、CCN资源池排队队列等,每个排队队列单独计数。 参数类型:SIGHUP 取值范围:整型,-1~INT_MAX,设置为-1表示对排队数量不做限制。 默认值:-1
  • max_active_statements 参数说明:设置全局的最大并发数量。该参数只在CN上应用且针对一个CN上的执行作业。 数据库管理员需根据系统资源(如CPU资源、IO资源和内存资源)情况,调整此数值大小,使得系统支持最大限度的并发作业,且防止并发执行作业过多,引起系统崩溃。 参数类型:SIGHUP 取值范围:整型,-1 ~ INT_MAX。设置为-1和0表示对最大并发数不做限制。 默认值:60
  • enable_resource_record 参数说明:设置是否开启资源监控记录归档功能。开启时,对于执行结束的记录,会分别被归档到相应的INFO视图(GS_WLM_SESSION_INFO和GS_WLM_OPERAROR_INFO)。此参数需在CN和DN同时应用。 参数类型:SIGHUP 取值范围:布尔型 on表示开启资源监控记录归档功能。 off表示关闭资源监控记录归档功能。 默认值:on 新建集群默认值为on,升级场景该参数的默认值为保持前向兼容维持原值。
  • use_workload_manager 参数说明:是否开启资源管理功能。该参数需在CN和DN同时应用。 参数类型:SIGHUP 取值范围:布尔型 on表示打开资源管理。 off表示关闭资源管理。 当使用GUC参数设置来修改参数值时,新参数值只能对更改操作执行后启动的线程生效。此外,对于后台线程以及线程复用执行的新作业,该参数值的改动不会生效。如果希望这类线程即时识别参数变化,可以使用kill session或重启节点的方式来实现。 use_workload_manager参数由off变为on状态后,资源管理视图变为可用,并且可以查询off状态下统计的存储资源使用情况。若存在些许误差的情况下,需要矫正用户使用的存储资源,可数据库中执行如下命令,在执行该命令的过程中,如果对表中插入数据,可能会出现统计不够准确的情况: 1 select gs_wlm_readjust_user_space(0); 默认值:on
  • enable_track_record_subsql 参数说明:设置是否开启子语句记录归档功能。开启时,存储过程、匿名块内部的子语句会被记录归档到相应的INFO表(GS_WLM_SESSION_INFO)。此参数为会话级参数,可在与CN的连接会话中设置生效,仅影响该会话连接中的语句;也可在CN和DN上同时设置,能全局生效。 参数类型:USERSET 取值范围:布尔型 on表示开启子语句资源监控记录归档功能。 off表示关闭子语句资源监控记录归档功能。 默认值:on
  • 应用示例 查询指定函数的OID。例如,获取函数justify_days的OID为1295。 1 2 3 4 5 SELECT oid FROM pg_proc where proname ='justify_days'; oid ------ 1295 (1 row) 查询指定函数是否为聚集函数。例如,查询justify_days函数为非聚集函数。 1 2 3 4 5 SELECT proisagg FROM pg_proc where proname ='justify_days'; proisagg ---------- f (1 row)
  • PG_MATVIEW PG_MATVIEW视图提供获取当前节点的物化视图信息。该视图仅8.3.0及以上集群版本支持。 表1 PG_MATVIEW字段 字段名称 字段类型 描述 mvid oid 物化视图OID。 build_mode char 物化视图的build模式。 'd':代表deferred,表示创建物化视图时需要等到第一次refresh时才会包含数据。 'i':代表immediate,表示创建物化视图时即包含最新数据。 refresh_method char 'c' 表示完全刷新。 refresh_mode char 物化视图的刷新模式。 'd':表示手动刷新。 'a':表示物化视图一直是活跃的,后台会自动刷新。 rewrite_enable boolean 是否支持物化视图的查询重写。 active boolean 物化视图是否需要刷新。 relnum Int 物化视图基表个数。 start_time timestamptz 物化视图第一次定时刷新的时间,为空则第一次刷新时间是当前时间+interval。 interval interval 物化视图定时刷新时间的间隔。 refresh_time timestamptz 物化视图的最后一次刷新时间。 父主题: 系统表
  • 三权分立 默认情况下拥有SYSADMIN属性的系统管理员,具备系统最高权限。在实际业务管理中,为了避免系统管理员拥有过度集中的权利带来高风险,可以设置三权分立,将系统管理员的权限分立给安全管理员和审计管理员。 三权分立后,系统管理员将不再具有CREATEROLE属性(安全管理员)和AUDITADMIN属性(审计管理员)能力。即不再拥有创建角色和用户的权限,并不再拥有查看和维护数据库审计日志的权限。关于CREATEROLE属性和AUDITADMIN属性的更多信息请参考CREATE ROLE。 三权分立后,系统管理员只会对自己作为所有者的对象有权限。 三权分立的设置办法请参考设置GaussDB(DWS)集群三权分立章节。 三权分立前的权限详情及三权分立后的权限变化,请分别参见表1和表2。 表1 默认的用户权限 对象名称 系统管理员 安全管理员 审计管理员 普通用户 表空间 对表空间有创建、修改、删除、访问、分配操作的权限。 不具有对表空间进行创建、修改、删除、分配的权限,访问需要被赋权。 表 对所有表有所有的权限。 仅对自己的表有所有的权限,对其他用户的表无权限。 索引 可以在所有的表上建立索引。 仅可以在自己的表上建立索引。 模式 对所有模式有所有的权限。 仅对自己的模式有所有的权限,对其他用户的模式无权限。 函数 对所有的函数有所有的权限。 仅对自己的函数有所有的权限,对其他用户放在public这个公共模式下的函数有调用的权限,对其他用户放在其他模式下的函数无权限。 自定义视图 对所有的视图有所有的权限。 仅对自己的视图有所有的权限,对其他用户的视图无权限。 系统表和系统视图 可以查看所有系统表和视图。 只可以查看部分系统表和视图。详细请参见系统表和系统视图。 表2 三权分立较非三权分立权限变化说明 对象名称 系统管理员 安全管理员 审计管理员 普通用户 表空间 无变化 无变化。 表 权限缩小。 只对自己的表有所有权限,对其他用户放在属于各自模式下的表无权限。 无变化。 索引 权限缩小。 只可以在自己的表上建立索引。 无变化。 模式 权限缩小。 只对自己的模式有所有的权限,对其他用户的模式无权限。 无变化。 函数 权限缩小。 只对自己的函数有所有的权限,对其他用户放在属于各自模式下的函数无权限。 无变化。 自定义视图 权限缩小。 只对自己的视图及其他用户放在public模式下的视图有所有的权限,对其他用户放在属于各自模式下的视图无权限。 无变化。 系统表和系统视图 无变化。 无变化。 无变化。 无权查看任何系统表和视图。 父主题: 管理用户及权限
  • 创建范围(range)分区表 示例:创建一个按wr_returned_date_sk范围分区的表web_returns_p1。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 CREATE TABLE web_returns_p1 ( wr_returned_date_sk integer, wr_returned_time_sk integer, wr_item_sk integer NOT NULL, wr_refunded_customer_sk integer ) WITH (orientation = column) DISTRIBUTE BY HASH (wr_item_sk) PARTITION BY RANGE (wr_returned_date_sk) ( PARTITION p2016 VALUES LESS THAN(20161231), PARTITION p2017 VALUES LESS THAN(20171231), PARTITION p2018 VALUES LESS THAN(20181231), PARTITION p2019 VALUES LESS THAN(20191231), PARTITION pxxxx VALUES LESS THAN(maxvalue) ); 对于分区间隔固定、批量创建分区的场景。可使用如下示例: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 CREATE TABLE web_returns_p2 ( wr_returned_date_sk integer, wr_returned_time_sk integer, wr_item_sk integer NOT NULL, wr_refunded_customer_sk integer ) WITH (orientation = column) DISTRIBUTE BY HASH (wr_item_sk) PARTITION BY RANGE(wr_returned_date_sk) ( PARTITION p2016 START(20161231) END(20191231) EVERY(10000), PARTITION p0 END(maxvalue) ); 示例:创建一个按时间日期作为分区的表web_returns_p2,其中time作为分区键。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 CREATE TABLE web_returns_p2 ( id integer, idle numeric, IO numeric, scope text, IP text, time timestamp ) WITH (TTL='7 days',PERIOD='1 day') PARTITION BY RANGE(time) ( PARTITION P1 VALUES LESS THAN('2022-01-05 16:32:45'), PARTITION P2 VALUES LESS THAN('2022-01-06 16:56:12') );
  • 创建列表(list)分区表 LIST分区表可以使用任意允许值比较的列作为分区键列。创建LIST分区表时,必须要为每一个分区声明每一个值分区。 示例:创建LIST分区表sales_info。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 CREATE TABLE sales_info ( sale_time timestamptz, period int, city text, price numeric(10,2), remark varchar2(100) ) DISTRIBUTE BY HASH(sale_time) PARTITION BY LIST (period, city) ( PARTITION province1_202201 VALUES (('202201', 'city1'), ('202201', 'city2')), PARTITION province2_202201 VALUES (('202201', 'city3'), ('202201', 'city4'), ('202201', 'city5')), PARTITION rest VALUES (DEFAULT) );
  • 对已有的表进行分区 表只能在创建时被分区。 如果用户有一个表想要分区,用户必须创建一个分过区的表,把原始表的数据载入到新表,再删除原始表并且把分过区的表重命名为原始表的名称。 用户还必须重新授权表上的权限。例如: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 CREATE TABLE web_returns_p2 ( wr_returned_date_sk integer, wr_returned_time_sk integer, wr_item_sk integer NOT NULL, wr_refunded_customer_sk integer ) WITH (orientation = column) DISTRIBUTE BY HASH (wr_item_sk) PARTITION BY RANGE(wr_returned_date_sk) ( PARTITION p2016 START(20161231) END(20191231) EVERY(10000), PARTITION p0 END(maxvalue) ); 1 2 3 4 5 INSERT INTO web_returns_p2 SELECT * FROM web_returns_p1; DROP TABLE web_returns_p1; ALTER TABLE web_returns_p2 RENAME TO web_returns_p1; GRANT ALL PRIVILEGES ON web_returns_p1 TO dbadmin; GRANT SELECT ON web_returns_p1 TO jack;
  • 分割一个分区 范围分区表和列表分区表分割分语法有所区别: 使用ALTER TABLE语句为范围分区表分割一个分区。例如,将表web_returns_p1分区pxxxx以20201231为分割点分割为p2020和p20xx两个分区。 1 ALTER TABLE web_returns_p1 SPLIT PARTITION pxxxx AT(20201231) INTO (PARTITION p2020,PARTITION p20xx); 使用ALTER TABLE语句为列表分区表分割一个分区。例如,将表sales_info分区province2_202201分割为province3_202201和province4_202201两个分区。 1 ALTER TABLE sales_info SPLIT PARTITION province2_202201 VALUES(('202201', 'city5')) INTO (PARTITION province3_202201,PARTITION province4_202201);
共100000条