华为云用户手册

  • 消息关键参数 发送消息URL关键字段 序号 字段 数据类型 可选属性 描述 HTTP URL 部分(遵循RFC2616) 1 userId string M 被叫用户号码 消息上报通知消息关键字段 序号 字段 数据类型 可选属性 描述 HTTP 消息体 部分(遵循RFC2616) 1 link Link数组 O 原消息的resourceURL。 路径中最后一节是源消息的messageId。 2 address String M 撤回消息的被叫地址(原消息的目的方地址) 3 messageId String O 源消息ID 4 status ENUM O 消息撤回结果 Revoked,成功撤回 RevokeFailed,撤回失败。
  • 消息关键参数 发送消息URL关键字段 (其他字段见 接口消息URL关键字段) 序号 字段 数据类型 可选属性 描述 HTTP URL 部分(遵循RFC2616) 1 messageId String M 待撤回消息的ID。 表1 消息URL关键字段 序号 字段 数据类型 可选属性 描述 1 serverRoot string M 服务器基础URL: hostname(或ip)+port+base path Port和base path可选 例: ip:port/openchatbot 2 apiVersion string M 客户端想使用的API版本号. 例: “v2”. 3 chatbotAddress string M 行业消息的统一服务地址,客户端可根据此地址将所有通知集合展现。 chatbotAddress是5G云服务平台分配给购买者的chatbotID。如果您已经购买了5G消息应用资产,则可以登录消费者门户,选择”应用管理”查看chatbotID。 发送消息HTTP头关键字段 序号 字段 数据类型 可选属性 描述 HTTP 消息头部分(遵循RFC2616) 1 Address string M 接受方地址Request-URI 消息上报通知消息关键字段 序号 字段 数据类型 可选属性 描述 HTTP 消息体 部分(遵循RFC2616) 1 status ENUM M 值RevokeRequested,请求撤回消息 2 address string M 源消息接收方地址。
  • 发送撤回消息示例 PUT /messaging/v2/sip:888.chatbot@botplatform.rcs.chinamobile.com/22ed8552-e5d2-11ea-b483-fa163e6a8a4e/outbound HTTP/1.1 Content-Type: application/json Authorization:Username="a20a9716-8577-4e5e-8333-490df5b72e9f", Password=“******” Address: tel:+8619585550104 Cache-Control: no-cache Pragma: no-cache Host: 10.120.207.128:8319 Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2 Connection: keep-alive Content-Length: 319 { "address":"tel:+8619585550104", "status":"RevokeRequested" }
  • 请求消息示例 GET /openchatbot/v2/123456/files HTTP/1.1 Authorization: Username="a20a9716-8577-4e5e-8333-490df5b72e9f", Password=“******” Accept: */* Host: 10.186.76.175:8323 accept-encoding: gzip, deflate Connection: keep-alive
  • 响应消息示例 HTTP/1.1 200 OK Server: Apache-Coyote/1.1 Content-Disposition: form-data; name="File"; filename="1.jpg" Content-Type: image/jpeg Content-Transfer-Encoding: 8bit DATE: Tue, 12 Jul 2016 06:00:00 GMT Content-Range: bytes 0-123455/123456 Content-Length: 123456
  • 文件上传请求消息示例 POST /openchatbot/v2/sip:chatbotid32itc1@botplatform.rcs.chinamobile.com/files HTTP/1.1 Authorization: Username="appId32itc1",Password="******" Accept: */* Host: 10.120.207.128:8323 Accept-Encoding: gzip, deflate, br Connection: keep-alive Content-Type: multipart/form-data; boundary=--------------------------413122496398836876848661 Cookie: JSESSIONID=429751BCFD903F626E0FF31378F8A79A Content-Length: 213 ----------------------------413122496398836876848661 Content-Disposition: form-data; name="File"; filename="zh123.txt" Content-Type: text/plain 123123 ----------------------------413122496398836876848661--
  • 消息关键参数 请求消息头关键参数: 序号 字段 数据类型 可选属性 描述 1 Content-Length string M 内容大小 请求消息关键参数(消息体采用multipart/form-data格式): 序号 字段 数据类型 可选属性 描述 1 Thumbnail Binary O 缩略图,可以为空(如语音片段可以由客户端使用默认缩略图);非空时包含以下信息: 文件名 文件大小 文件类型(图片) 缩略图内容 3 File Binary M 文件,包含以下信息: 文件名 文件大小 文件类型 文件内容 响应消息关键参数: 序号 字段 数据类型 可选属性 描述 1 响应码 string M 200 OK成功响应(文件相关信息需等待媒体审核结束后通知) 2 tid string M 文件传输ID
  • GUC参数 表7 GUC参数 变更类型 序号 名称 变更描述 新增 1 max_queue_statements 默认为-1,标识最大排队长度,当作业排队超过该值时报错退出。对于新装和升级集群该参数不生效。 2 job_retention_time 标识pg_job执行结果最长保存天数,默认为30。 3 vector_engine_strategy 控制向量化算子的策略,默认为improve,表示尽可能将计划向量化;可设置为force,表示强制回退为行存计划。 4 enable_release_scan_lock 控制SELECT语句是否在语句执行结束后将一级锁释放。默认关闭。 5 job_queue_naptime 设置触发调度任务检查的时间间隔及任务线程启动的超时时间,默认1s。 6 approx_count_distinct_precision 该参数表示HyperLogLog++ (HLL++)算法中分桶个数,可以用来调整approx_count_distinct聚集函数的误差率。桶的个数会影响distinct值估算的精度,桶的个数越多,误差越小。默认值17。 7 llvm_compile_expr_limit 限制LLVM表达式最大编译个数。 8 llvm_compile_time_limit LLVM编译时间在执行器运行时间中的占比超过llvm_compile_time_limit所设置的阈值,说明LLVM编译时间占比过高,生成告警提示。 9 max_opt_sort_rows 控制order by子句中最大优化的limit+offset行数。如果超过这一行数,走原逻辑,小于这个行数走优化后逻辑。默认设为0,即默认走原逻辑。 10 dfs_max_memory 设置orc导出时能占用的最大内存。默认值262144KB。 11 default_partition_cache_strategy 控制分区缓存的默认策略。 12 enable_connect_standby 设置CN是否连接DN备机。仅适用于运维操作。 13 enable_stream_sync_quit 设置stream计划结束时,stream线程是否同步退出。默认关闭,实现sync quit不阻塞。 14 full_group_by_mode 用于控制disable_full_group_by_mysql语法开关打开后的两种不同行为: nullpadding表示对于非聚集列而言,对该列NULL值进行填充,取该列非NULL值,结果集可能为不同行。 notpadding表示对于非聚集列而言,不处理NULL值,取该行整行数据,非聚集列结果集为随机的一行。 修改 15 behavior_compat_options 新增选项alter_distribute_key_by_partition,控制ALTER TABLE修改分区表分布列时INSERT INTO是否按分区执行。 16 behavior_compat_options 新增选项enable_full_string_agg,控制string_agg(a, delimeter) over (partition by b order by c)场景行为,采用窗口内的全量聚合逻辑还是增量聚合逻辑。 17 behavior_compat_options 新增选项unsupported_set_function_case,控制是否支持case when条件中含有返回为多结果集函数。 18 behavior_compat_options 新增选项enable_unknown_datatype。在未设置时,不允许用户创建存在unknown类型列的表。 19 behavior_compat_options 新增选项enable_whole_row_var。针对使用表名做表达式场景(SELECT T FROM T,或SELECT .... FROM T GROUP BY T),未设置enable_whole_row_var选项时,在parse阶段,对该类场景进行拦截,报错处理。 20 time_track_strategy 参数由USERSET级别修改为SIGHUP级别,内核层面默认修改为timer,可以通过管理控制台设置为tsc。 21 rewrite_rule 控制在重写时是否走case when改写。
  • 行为变更 表2 行为变更 变更类型 序号 名称 变更描述 删除 1 policy_oid 原policy_oid字段在升级到8.3.0版本时字段为NULL,现改为在升级阶段通过脚本对policy_oid字段填充对应的policy_oid。 修改 2 gs_dump gs_dump会带上索引的unusable状态。 3 pg_get_tabledef pg_get_tabledef会带上索引的unusable状态。 4 pg_get_indexdef pg_get_indexdef会带上索引的unusable状态。 5 create table like including复制的索引会带上源索引的unusable状态。
  • 系统视图 表6 系统视图 变更类型 序号 名称 变更描述 新增 1 pgxc_memory_debug_info 显示当前集群每个节点在执行作业时的内存报错信息,便于定位内存报错问题。 修改 2 pgxc_stat_object 跟随pg_stat_object一起更改,预留字段extra1改名为last_autovacuum_csn。 3 gs_wlm_session_statistics 增加parse_time字段。 4 pgxc_wlm_session_statistics 增加parse_time字段。 5 gs_wlm_session_history 增加parse_time字段。 6 pgxc_wlm_session_history 增加parse_time字段。 7 gs_wlm_session_info 增加parse_time字段。 8 information_schema.tables 修改视图定义,改变筛选条件,使reloptions为空的视图可以查到。 9 gs_table_stat 优化gs_table_stat视图查询性能。 10 gs_row_table_io_stat 等价逻辑改写查询性能优化。 11 gs_column_table_io_stat 等价逻辑改写查询性能优化。 删除 12 gs_wlm_session_info_all 废弃系统视图日落。 13 pg_wlm_statistics 废弃系统视图日落。 14 pg_session_iostat 废弃系统视图日落。
  • 系统函数 表5 系统函数 变更类型 序号 名称 变更描述 新增 1 dbms_job.submit_node 新增dbms_job.submit_node,功能在submit基础上增加job_node,用于指定执行节点,默认null,代表当前CN节点。 2 dbms_job.change_node 新增dbms_job.change_node用于指定执行节点,默认null,代表当前CN节点。 3 漏斗函数 新增漏斗函数windowfunnel。 4 留存函数 新增留存函数retention。 5 留存扩展函数 新增留存扩展函数range_retention_count。 6 留存扩展函数 新增留存扩展函数range_retention_sum。 7 approx_count_distinct 新增近似计算聚集函数。 8 pg_scan_residualfiles 扫描当前节点当前库中所有符合特征的残留文件。 9 pgxc_scan_residualfiles 扫描多个节点当前库中所有符合特征的残留文件。 10 pg_get_scan_residualfiles 获取当前节点扫描到的残留文件列表。 11 pgxc_get_scan_residualfiles 获取多个节点上扫描到的残留文件列表。 12 pg_archive_scan_residualfiles 归档当前节点扫描的残留文件列表。 13 pgxc_archive_scan_residualfiles 归档多个节点上扫描的残留文件列表。 14 pg_rm_scan_residualfiles_archive 删除当前节点所有残留文件归档。 15 pgxc_rm_scan_residualfiles_archive 删除多个节点上所有残留文件归档。 16 pg_partition_management_time 修改自增分区任务调用时间。 17 uniq 辅助完成精准去重等对数据的uv计算。 18 reload_cold_partition 冷热表冷分区转热。 修改 19 pgxc_get_small_cu_info 增加可以查询二级分区每个分区cu数量的功能。 20 pgxc_get_wlm_session_info_bytime 增加parse_time字段。 删除 21 pg_sync_cstore_delta(text) 废弃系统函数日落。 22 pg_sync_cstore_delta 废弃系统函数日落。 23 pgxc_pool_check 废弃系统函数日落。 24 pg_delete_audit 废弃系统函数日落。 25 pg_log_comm_status 废弃系统函数日落。 26 pgxc_log_comm_status 废弃系统函数日落。 27 signal_backend 废弃系统函数日落。 28 pg_stat_get_realtime_info_internal 废弃系统函数日落。 29 pg_stat_get_wlm_session_info_internal 废弃系统函数日落。 30 pg_stat_get_wlm_session_info 废弃系统函数日落。 31 pg_stat_get_wlm_statistics 废弃系统函数日落。 32 pg_user_iostat 废弃系统函数日落。 33 pg_stat_get_wlm_session_iostat_info 废弃系统函数日落。
  • 8.3.0集群版本数据库接口删除表 表1 日落系统函数和视图 类型 名称 说明 函数 pg_sync_cstore_delta(text) 列存merge delta表数据至主表,已废弃。由VACUUM DELTAMERGE xxx语法替代。 pg_sync_cstore_delta 列存merge delta表数据至主表,已废弃。由VACUUM DELTAMERGE xxx语法替代。 pgxc_pool_check 检查连接池中缓存的连接数据是否与pgxc_node一致,已废弃。 pg_delete_audit 删除审计日志函数,已废弃。不允许手动删除审计日志。 pg_log_comm_status 当前节点SCTP通信层内部结构的日志记录状态,已废弃。 pgxc_log_comm_status 所有节点SCTP通信层内部结构的日志记录状态,已废弃 signal_backend 已废弃。 pg_stat_get_realtime_info_internal 获取query级别的实时topsql信息,已废弃。由PGXC_WLM_SESSION_STATIS TICS 视图代替。 pg_stat_get_wlm_session_info_internal 获取query级别的topsql信息,已废弃。由pg_stat_get_wlm_realtime_session_info函数代替。 pg_stat_get_wlm_session_info 获取session信息,已废弃。由PGXC_WLM_SESSION_INFO视图代替。 pg_stat_get_wlm_statistics 获取session信息,已废弃。由PGXC_WLM_SESSION_INFO视图代替。 pg_user_iostat 获取用户的io信息,已废弃。由PGXC_TOTAL_USER_RESOURCE_INFO视图代替。 pg_stat_get_wlm_session_iostat_info 获取query的io信息,已废弃。由PGXC_WLM_SESSION_STATISTI CS 视图或PGXC_WLM_SESSION_INFO视图替代。 系统视图 gs_wlm_session_info_all 获取session信息,已废弃。由PGXC_WLM_SESSION_INFO代替。 pg_wlm_statistics 显示作业结束后或已被处理异常后的负载管理相关信息,已废弃。由PGXC_WLM_SESSION_INFO视图替代。 pg_session_iostat 获取session的io信息,已废弃。由PGXC_WLM_SESSION_STATISTICS视图替代。
  • 系统视图 表6 系统视图 变更类型 序号 名称 变更描述 新增 1 pg_job_single 单节点job信息。 2 pg_job 用于向前兼容pg_job系统表,分布式pg_job_single集合。 3 pgxc_get_stat_all_partitions 获取所有分区表各个分区的insert/update/delete/live/dead元组数及脏页率信息。 4 gs_view_dependency 级联查询视图的依赖关系,是上面两个函数的union。 修改 5 pgxc_get_instr_unique_sql 使用get_instr_unique_sql_remote_cns获得其他CN上的unique sql数据。 6 pg_stat_replication 修复功能。 7 pg_get_senders_catchup_time 增加catchup过程信息字段。 8 pg_catalog.gs_wlm_operator_history 增加nodename字段。 9 pg_catalog.pgxc_wlm_operator_history 增加nodename字段。 10 pg_catalog.pgxc_wlm_operator_info 增加nodename字段。
  • GUC参数 表8 GUC参数 变更类型 序号 名称 变更描述 新增 1 wal_compression_level PFI日志压缩功能zlib压缩级别,默认9。 2 wal_compression PFI日志压缩功能开关,默认关闭。 3 max_xlog_backup_size xlog日志备份大小。当节点备份的xlog日志size超过该值时,自动删除备份的最旧xlog日志,直到备份日志size小于该值的90%。 4 max_cache_partition_num 表示在重分布过程中,最多在内存中保留的分区数量,多余该数量,把最早的分区按CU格式下盘。 5 password_encryption_type 该参数决定采用何种加密方式对用户密码进行加密存储。新增取值2,表示采用sha256方式对密码加密。 如果当前集群为8.0.0及以下版本升级到当前版本,该参数的默认值为保持前向兼容和原低版本集群一致,即默认值保持向前兼容仍旧是1;新安装集群默认值为2。 6 join_num_distinct 控制join列的默认distinct值,默认值-20。 7 cost_model_version 控制本次cost估算优化是否生效的参数,默认值为1,代表生效。 8 qual_num_distinct 控制过滤列的默认distinct值,默认值200。 9 behavior_compat_options 新增varray_verification选项,支持回退此次新增的校验。 10 behavior_compat_options 新增check_function_conflicts选项支持对IMMUTABLE函数内部是否有非IMMUTABLE行为的校验。 11 auto_process_residualfile 自动记录残留文件功能开关。默认为true,表示功能打开。 12 default_colversion 用于指定用户创建列存表时的默认建表格式,默认格式为1.0。 13 enable_partition_dynamic_pruning 分区表扫描是否支持动态剪枝,默认打开(支持动态剪枝)。 14 enable_join_pseudoconst 控制是否在等于常量的join表达式上生成join表达式,类似t1 inner join t2 on t1.a=t2.a where t1.a = 1场景下,可以根据t1.a=t2.a生成join表达式(以前的时候这类join条件不能做join cond)。 15 view_independent 参数作用:控制视图依赖解耦功能的开关。 默认值:off。 16 enable_view_update 支持单表视图更新。 修改 17 enable_index_nestloop enable_index_nestloop从C80以及之前的版本升级到最新的补丁版本保持off。 enable_index_nestloop从6.5.0或6.5.0版本升级上来,保持前向兼容。 enable_index_nestloop安装默认on. 18 archive_mode xlog日志归档开关,默认值从off变更为on;在部分场景对性能有小幅影响,性能比拼等POC场景建议手动规避。 19 cost_param 默认值修改为16,对应本次的cost估算优化内容。 20 rewrite_rule 去除partialpush(部分下推)参数选项。 21 behavior_compat_options 新增strict_concat_functions参数选项,用作函数textanycat和anytextcat的前向兼容。 22 behavior_compat_options 增加'strict_text_concat_td'选项,TD模式下使textcat/textanycat/anytextcat变为strict函数。 23 behavior_compat_options 增加strict_text_concat_td选项,兼容TD模式下NULL的拼接行为。 24 behavior_compat_options 增加bpchar_text_without_rtrim选项,兼容TD模式下bpchar字符串操作对尾部空格处理的风格。
  • 时区 表9 时区 变更类型 序号 名称 变更描述 修改 1 Asia/Beijing北京时区的定义改为与Asia/Shanghai一致 1901年前的时区偏移从08:00:00调整为08:05:43。 新增了1940年至1949年的夏令时规则。 1940年6月1号到10月12号采用夏令时。 1941年3月15号到11月1号采用夏令时。 1942年1月31日直到1945年9月1号都采用夏令时,这三年都使用夏令时区是因为期间发生了二战,政府没有在进行时区规则全国调整。 1946年05月15日到09月31日采用夏令时。 1947年04月15日到10月31日采用夏令时。 1948年05月01日到09月30日采用夏令时。 1949年05月01日到09月30日采用夏令时。 1986年至1991年间的夏令时规则也进行了调整。 1986至1991年夏令时调整从凌晨零点改为凌晨两点。 1987至1991年夏令时调整到标准时区从9月10号以后第一个周日改为11号以后第一个周日。 2 Asia/Shanghai定义修改 1901年前的时区偏移从08:05:57调整为08:05:43。 调整1940至1941年夏令时规则。 1940年夏令时时间,从6月3日到10月1日改为6月1日到10月12日。 1941年夏令时时间,从3月16日到10月1日改为3月15日到11月1日。 新增了1942年至1949年夏令时规则。 1942年1月31日直到1945年9月1号都采用夏令时,这三年都使用夏令时区是因为期间发生了二战,政府没有在进行时区规则全国调整。 1946年05月15日到09月31日采用夏令时。 1947年04月15日到10月31日采用夏令时。 1948年05月01日到09月30日采用夏令时。 1949年05月01日到09月30日采用夏令时。 1986年至1991年间的夏令时规则也进行了调整。 1986至1991年夏令时调整从凌晨零点改为凌晨两点。 1987至1991年夏令时调整到标准时区从9月10号以后第一个周日改为11号以后第一个周日。 3 Asia/Urumqi 1980年5月后的时区偏移从东八区调整为东六区。 4 原民国时期按照物理时区定义的五大时区调整为两大时区 Asia/Harbin(长白时区),Asia/Chongqing(陇蜀时区),Asia/Shanghai(中原标准时区)时区名保留,定义都指向新定义的Asia/Shanghai(中国标准时区)。全国统一使用。 Asia/Kashgar(昆仑时区),Asia/Urumqi(新藏时区)时区名保留,定义都指向新定义的Asia/Urumqi(乌鲁木齐时区)。当地同时使用两个时区定义。 5 初始化默认时区可能会变更 数据库初始化时会评估一个最符合操作系时区的数据库内部支持时区作为默认时区。因数据库内部支持的时区定义变化,可能会导致初始化默认时区有变化。
  • 系统表 表4 系统表 变更类型 序号 名称 变更描述 新增 1 dbms_om.gs_wlm_session_info 新增系统表。 2 dbms_om.gs_wlm_operator_info 新增系统表。 修改 3 pg_jobs 对应老系统表pg_job,元数据关系使用oid关联,由于共享系统表已满,无法在一个事务中删除后添加,因此重命名pg_job_proc得来。 4 pg_proc 将函数textanycat和anytextcat修改为非STRICT函数。 5 pg_proc 修改函数database_to_xml、database_to_xmlschema、database_to_xml_and_xmlschema为非STRICT函数。 6 pg_catalog.gs_wlm_session_info 修改为同名视图。 7 pg_catalog.gs_wlm_operator_info 修改为同名视图。 增加nodename字段。 8 pg_catalog.gs_wlm_ec_operator_info 修改为同名视图。 9 pg_catalog.gs_wlm_ec_operator_info 修改为同名视图。 增加nodename,plan_node_name,ec_operator,ec_fetch_count四个输出字段。
  • 系统函数 表5 系统函数 变更类型 序号 名称 变更描述 新增 1 pgxc_get_residualfiles pg_get_residualfiles的cn统一查询函数。 2 pgxc_rm_residualfiles pg_rm_residualfiles的cn统一查询函数。 3 pgxc_verify_residualfiles pg_verify_residualfiles的cn统一查询函数。 4 query_to_xmlschema 把Query查询的内容映射成XML模式文档。 5 query_to_xml 把Query查询的内容映射成XML文档。 6 query_to_xml_and_xmlschema 把Query查询的内容映射成XML值和模式文档。 7 table_to_xmlschema 把关系表的内容映射成XML模式文档。 8 table_to_xml 把关系表的内容映射成XML值。 9 table_to_xml_and_xmlschema 把关系表的内容映射成XML值和模式文档。 10 cursor_to_xmlschema 把游标查询的内容映射成XML模式文档。 11 cursor_to_xml 把游标查询的内容映射成XML文档。 12 schema_to_xmlschema 把整个模式的内容映射成XML模式文档。 13 schema_to_xml 把整个模式的内容映射成XML文档。 14 schema_to_xml_and_xmlschema 把整个模式的内容映射成XML值和模式文档。 15 database_to_xmlschema 把整个数据库的内容映射成XML模式文档。 16 database_to_xml 把整个数据库的内容映射成XML文档。 17 database_to_xml_and_xmlschema 把整个数据库的内容映射成XML值和模式文档。 18 xmlpi 创建一个XML处理指令。 19 xmlcomment 创建一个使用指定文本作为内容的XML注释。 20 xmlserialize 从xml类型的值生成一个字符串。 21 xmlparse 从字符数据中生成一个xml类型的值。 22 xpath 返回一个xml值的数组对应xpath表达式所产生的节点集。 23 get_instr_unique_sql_remote_cns 获得除当前CN节点外所有其他CN上面的unique sql数据。 24 xml_is_well_formed 检查text字符串是不是格式良好的xml值。 25 xml_is_well_formed_content 检查text字符串是不是格式良好的内容。 26 xml_is_well_formed_document 检查text字符串是不是格式良好的文档。 27 xmlconcat 将XML值组成的列表串接成一个单独的值。 28 xmlagg 聚集函数,将输入值串接起来。 29 IS DOCUMENT 判断参数值是一个正确的XML文档。 30 IS NOT DOCUMENT 判断参数值不是一个正确的XML文档。 31 xmlexists 判断参数中的XPath表达式是否返回任何结点。 32 xpath_exists 判断参数中的XPath表达式是否返回任何结点。 33 xmlelement 使用给定名称、属性和内容产生一个XML元素。 34 xmlforest 使用给定名称和内容产生一个元素的XML森林(序列)。 35 pg_xlog_replay_completion 显示当前DN Xlog redo的进度信息。 36 pg_data_sync_from_dummy_completion 显示当前DN数据页从dummystandby传输的进度信息。 37 pg_stat_xlog_space 显示当前DN上Xlog空间使用信息。 38 pgxc_stat_xlog_space 显示所有主DN上Xlog空间使用信息。 39 xmlroot 修改一个XML值的根结点的属性。 40 pg_get_residualfiles 用于查询当前节点的所有残留文件列表。 41 pg_get_running_jobs 用于查询当前节点上正在运行的Job。 42 pg_is_residualfiles 用于从当前库中查询指定的relfilenode是否是残留文件。 43 pg_rm_residualfiles 用于将指定的残留文件列表中的文件删除。 44 pg_verify_residualfiles 用于验证指定的文件中记录的残留文件列表是否确实为残留文件。 45 table_distribution 增加一个参数、参数类型为regclass的table_distribution函数。 46 XMLTABLE 支持XMLTABLE函数用于解析XML数据。 修改 47 pgxc_get_senders_catchup_time 增加catchup过程信息字段。 48 pg_stat_get_data_senders 增加catchup过程信息字段。 49 pgxc_get_thread_wait_status 增加参数num_node_display。 50 pg_stat_get_status 增加参数num_node_display。 51 pg_catalog.pgxc_get_wlm_session_info_bytime 第一个参数从区分大小写修改为不区分大小写。
  • SQL语法 表2 SQL语法 变更类型 序号 名称 变更描述 新增 1 列存分区表支持split操作 列存分区表支持split操作。 2 CREATE TABLE tbl(LIKE tbl2 INCLUDING DROPCOLUMNS ) 新增支持LIKE DROPCOLUMNS语法。 3 ALTER TABLE tbl DISTRIBUTE BY 新增支持修改表分布列语法。 4 ALTER TABLE set version 用于切换列存表的新老格式。 5 CREATE/ALTER FOREIGN TABLE Write Only 支持OBS的ORC格式写。 6 CREATE/ALTER FOREIGN TABLE Write Only 支持HDFS的ORC格式写。 7 XML类型 支持在表、函数中使用XML数据类型。 8 ALTER VIEW alter view viewname REBUILD; 修改 9 VACUUM FULL vacuum full同一张表并发操作时会发生死锁。 10 DROP TEXT SEARCH CONFIGURATION 如果待删除的TEXT SEARCH CONFIGURATION是当前的default_text_search_config则报错,删除失败。 11 CREATE/ALTER ROLE/USER AUTHINFO 'ldap' 修改原有的指定用户认证类型是ldap的语法,去除64个字符的限制。 12 CREATE USER/ROLE with authinfo 'ldap' password disable 修改创建ldap用户的语法。 13 ALTER USER/ROLE with authinfo 'ldap' password disable 修改更新ldap用户的语法。 删除 14 ALTER TABLE分区表exchange with unlogg表 禁止分区表与unlogged表做exchange交换。 15 ALTER TABLE ... inherit修改继承关系功能 优化器未对表继承做适配,需封禁alter table inherit接口。
  • 系统视图 表6 系统视图 变更类型 序号 名称 变更描述 新增 1 GS_WLM_SQL_ALLOW 新增视图供用户查询当前已设置的白名单。 2 PG_TOTAL_SCHEMA_INFO 查询节点Schema空间信息。 3 PGXC_TOTAL_SCHEMA_INFO 查询集群Schema空间信息。 4 PGXC_TOTAL_SCHEMA_INFO_ANALYZE 分析集群Schema空间信息。 5 PGXC_LOCK_CONFLI CTS 查询各节点上存在冲突的锁信息。 6 PGXC_DEADLOCK 返回处于分布式死锁中的锁等待信息(包括锁定对象、持锁对象和等锁对象的信息)。 7 PGXC_NODE_STAT_RESET_TIME 显示每个节点的重置时间。 8 GS_NODE_STAT_RESET_TIME 显示当前节点的重置时间。 9 GLOBAL_STAT_DATABASE 显示database全局统计信息。 10 GLOBAL_REL_IOSTAT 显示全局IO统计信息。 11 PGXC_REL_IOSTAT 显示各节点IO统计信息。 12 GS_REL_IOSTAT 显示当前节点IO统计信息。 13 GLOBAL_REDO_STAT 显示全局Redo统计信息。 14 PGXC_REDO_STAT 显示各节点Redo统计信息。 15 GLOBAL_WORKLOAD_TRANSACTION 显示全局workload事务统计信息。 16 PGXC_INSTANCE_TIME 显示各实例时间统计信息。 17 PGXC_SETTINGS 显示各节点GUC设置情况。 18 PGXC_REPLICATION_SLOTS 显示各节点复制slot统计信息。 19 PGXC_STAT_REPLICATION 显示各节点replication统计信息。 20 PGXC_STAT_BGWRITER 显示各节点bgwriter统计信息。 21 PGXC_WAIT_EVENTS 显示各节点等待事件统计信息。 22 GS_WAIT_EVENTS 显示当前节点等待事件统计信息。 23 PGXC_OS_RUN_INFO 显示各实例所在机器OS性能统计信息。 24 PG_LIFECYCLE_DATA_DISTRIBUTE 获取obs冷热表的数据分布情况统计。 25 PG_BULKLOAD_STATISTICS 对函数pg_stat_get_node_bulkload_statistics封装。 26 PGXC_BULKLOAD_STATISTICS 对函数pgxc_stat_get_node_bulkload_statistics封装。 27 PGXC_BULKLOAD_PROGRESS 基于视图pgxc_bulkload_statistics查询结果进行聚合,计算GDS业务进度百分比。 28 PG_QUERYBAND_ACTION 查询所有query_band负载行为。 29 GS_VIEW_DEPENDENCY_PATH 级联查询视图的依赖关系。 修改 30 REDACTION_COLUMNS 修改系统视图定义,新增一列function_infos。 31 PGXC_GET_TABLE_SKEWNESS 修复了视图PGXC_GET_TABLE_SKEWNESS不显示round-robin表的问题。 32 PGXC_STAT_DATABASE 显示各实例上的Database统计信息。
  • GUC参数 表8 GUC参数 变更类型 序号 名称 变更描述 新增 1 behavior_compat_options 增加convert_empty_str_to_null_td选项,兼容TD模式下to_date, to_timestamp和to_number函数对空串处理返回NULL的行为。 增加enable_interval_to_text选项,控制是否支持interval到text的隐式类型转换。 2 debug_group_dop 可以设定每个stream group的dop,用于在SMP自适应时进行语句级调优使用。默认为空。 3 enable_row_fast_numeric 行存表numeric落盘为bigint格式。 4 expand_hashtable_ratio hash表动态扩展。 5 query_dop_ratio 新增逻辑dop依据系统资源和代价进行判断,当判断不准时增加参数进行逃生。默认为1。 6 show_unshippable_warning 新增参数,控制是否将不下推日志打印到客户端,默认关闭。 7 assign_abort_xid 新增session级别参数,当客户误删(delete)数据后,进行快速有损恢复。默认值为空字符串。此guc参数的意思是需回滚指定xid提交的事务。 8 bi_page_reuse_factor 批插页重用时空闲fsm因子(0表示回到旧逻辑)。 9 check_cu_size_threshold userset级别,列存表插入时,如果一个CU里插入的数据量大于check_cu_size_threshold,启用行大小校验,避免产生大于1G的CU。 10 enable_light_colupdate userset级别,表明是否使用轻量化update。 修改 11 cost_model_version 增加参数值2,默认值1不变。小于2时analyze固定值采样使用原始函数,大于2时固定值采样使用增强随机性的优化函数。 12 expected_computing_nodegroup 就地升级后设置expected_computing_nodegroup为bind。 13 query_dop 新安装集群默认值修改为1,升级集群维持原默认值不变。
  • 行为变更 表7 行为变更 变更类型 序号 名称 变更描述 修改 1 not-null/check约束冲突时不打印整行数据的detail not-null/check约束冲突时不打印整行数据的detail。 2 兼容C80行为默认不匹配interval到text隐式类型转换 behavior_compat_options设置enable_interval_to_text后支持该隐式类型转换。 3 date类型 ora兼容模式下,date类型反解析为pg_catalog.date。 4 agg计划 agg生成stream计划时输出所需列。 5 median配套collate使用 禁用median/percentile_cont/percentile_disc中使用collate。 6 多列分区的修改 调整分区修改时的多列边界检查规则,当某一列的边界值为maxvalue则忽略后面其他列的边界值。 7 enable_nestloop为off时无关联条件时的计划生成 对于两个表无等值关联条件,但与其它表存在等值关联条件,且join的行数膨胀时,原来可以走nestloop,修复完走不了nestloop的计划;对于不支持hashjoin的等值join列,mergejoin也为off时,会导致nestloop代价变化,原来走nestloop+indexscan的会变成nestloop+materialize。
  • 关键字 表3 关键字 变更类型 序号 名称 变更描述 新增 1 TIMESTAMPDIFF 新增关键字为COL_NAME_KEYWORD。 2 IFNULL 新增关键字为COL_NAME_KEYWORD。 3 REFRESH 非保留关键字。 修改 4 IF 由UNRESERVED_KEYWORD改为COL_NAME_KEYWORD。 5 ISNULL 由UNRESERVED_KEYWORD改为COL_NAME_KEYWORD。 6 VERIFY 由保留关键字变为非保留关键字。
  • 系统函数 表5 系统函数 变更类型 序号 名称 变更描述 新增 1 pgxc_wlm_readjust_schema_space() Schema空间并行校准函数。 2 pgxc_wlm_get_schema_space() 查询集群Schema空间信息。 3 pgxc_wlm_analyze_schema_space() 分析集群Schema空间信息。 4 gs_roach_enable_delay_ddl_recycle 按照备份集的名称来开启延迟DDL。 5 gs_roach_disable_delay_ddl_recycle 按照备份集的名称来关闭延迟DDL。 6 gs_roach_stop_backup 按照备份集名称停止行存备份操作。 7 gs_roach_switch_xlog switch xlog时是否执行checkpoint。 8 pgxc_get_lock_conflicts() 返回各节点上存在冲突的锁信息。 9 mask_none/mask_full/mask_partial 新增内置脱敏函数。 10 median 中位数agg函数。 11 pgxc_node_stat_reset_time() 查询每个节点的重置时间。 12 pgxc_rel_iostat() 查询各节点IO统计信息。 13 pgxc_redo_stat() 查询各节点Redo统计信息。 14 pgxc_instance_time() 查询各实例时间统计信息。 15 pgxc_settings() 查询各节点GUC设置情况。 16 pgxc_replication_slots() 查询各节点复制slot统计信息。 17 pgxc_stat_replication() 查询各节点replication统计信息。 18 pgxc_stat_bgwriter() 查询各节点bgwriter统计信息。 19 pgxc_wait_events() 查询各节点等待事件统计信息。 20 pgxc_os_run_info() 查询各实例所在机器OS性能统计信息。 21 get_node_stat_reset_time() 查询当前节点状态重置时间。 22 get_local_rel_iostat() 查询当前节点IO统计信息。 23 get_instr_wait_event() 查询当前节点等待事件统计信息。 24 pg_stat_get_db_total_blk_write_time() 查询块写入总时间。 25 pg_stat_get_db_total_blk_read_time() 查询块读取总时间。 26 pg_stat_get_db_total_temp_bytes() 查询临时文件总大小。 27 pg_stat_get_db_total_temp_files() 查询临时文件总数。 28 pg_stat_get_db_total_deadlocks() 查询死锁总数。 29 pg_stat_get_db_total_conflict_all() 查询冲突总数。 30 pg_stat_get_db_total_tuples_deleted() 查询删除元组总数。 31 pg_stat_get_db_total_tuples_updated() 查询更新元组总数。 32 pg_stat_get_db_total_tuples_inserted() 查询插入元组总数。 33 pg_stat_get_db_total_tuples_fetched() 查询fetch元组总数。 34 pg_stat_get_db_total_tuples_returned() 查询return元组总数。 35 pg_stat_get_db_total_blocks_hit() 查询内存命中数据块总数。 36 pg_stat_get_db_total_blocks_fetched() 查询读取数据块总数。 37 pg_stat_get_db_total_xact_rollback() 查询rollback事务总数。 38 pg_stat_get_db_total_xact_commit() 查询commit事务总数。 39 pg_stat_get_db_total_numbackends() 查询当前backend总数。 40 gs_encrypt() 加密函数。 41 gs_decrypt() 解密函数。 42 gs_hash() 哈希函数。 43 gs_password_expiration() 查询当前用户的密码剩余时间(对应系统表pg_authid中的rolpwdtime和rolpwdexpire)。 44 to_char(date) 新增to_char(date)函数,兼容TD模式下to_char处理date类型时间戳的返回格式。 45 gs_wlm_set_queryband_action 设置query_band负载行为。 46 gs_wlm_set_queryband_order 设置query_band搜索优先级。 47 gs_wlm_get_queryband_action 查询query_band负载行为。 48 CONCAT 新增MYSQL兼容规则,入参含NULL则返回NULL。 49 TIMESTAMPDIFF 支持TIMESTAMPDIFF函数返回指定单位的时间差。 50 TO_DAYS 支持TO_DAYS函数返回输入时间到0的天数差 51 DATE_FORMAT 支持DATE_FORMAT函数用于将输入日期时间转化为指定格式的字符串,格式为%开头的MYSQL形式。 52 IF 实现IF函数,根据首个输入返回对应值。 53 IFNULL 实现IFNULL函数,返回首个非NULL值。 54 ISNULL 实现ISNULL函数,判断输入是否为NULL。 修改 55 pg_resume_bkp_flag 用于备份恢复获取delay ddl标志。 56 pg_query_audit 审计日志记录新增五个字段:begintime、operation_type、command_text、transaction_xid、query_id;变更原字段:将原time变更为endtime,将原type变更为audit_type。另将原detail_info下存放的操作命令移至command_text,而detail_info存放命令执行结果。 57 pg_delete_audit 基于安全考虑,不允许提供删除审计日志的接口,调用此函数将直接报错。 58 log() 对数函数,ora/td模式下表现为底为10的对数,mysql兼容模式下表现为自然对数。 59 to_number to_number函数原来调用numeric_in函数,现修改成调用to_number函数,兼容TD模式下to_number函数空串处理返回null。 60 left() 字符串截取,当入参是负数时,ora/td模式下返回除最后|n|个字符以外的所有字符,mysql兼容模式下返回空串。 61 right() 字符串截取,当入参是负数时,ora/td模式下返回除前|n|个字符以外的所有字符,mysql兼容模式下返回空串。 62 last_day 入参增加timestamptz类型,mysql兼容模式下返回类型处理为date类型,ora/td模式返回timestamp。 63 next_day 入参增加timestamptz类型,mysql兼容模式下返回类型处理为date类型,ora/td模式返回timestamp。 64 add_months 入参增加timestamptz类型,mysql兼容模式下返回timestamptz类型,ora/td模式返回timestamp类型。 65 add_months 入参增加date类型,mysql兼容模式下返回date类型,ora/td模式返回timestamp类型。 66 pg_cbm_recycle_file 增加参数,支持备份和容灾并行特性对cbm的回收支持。 67 pgxc_query_audit 新增字段:begintime、operation_type、command_text、transaction_xid、query_id;修改原字段:将原time变更为endtime,将原type变更为audit_type。另将原detail_info下存放的操作命令移至command_text,而detail_info存放命令执行结果。 68 login_audit_messages 增强审计日志特性适配。 删除 69 add_policy/drop_policy/alter_policy/enable_policy/disable_policy 删除脱敏旧的接口。
  • SQL语法 表2 SQL语法 变更类型 序号 名称 变更描述 新增 1 LIMIT offset,count 支持LIMIT offset,count语法。 2 EXPLAIN(STATS ON)... 支持EXPLAIN(STATS ON)... 语法,用于导出计划复现的相关信息。 3 CREATE/ALTER/DROP REDACTION POLICY 新增脱敏DDL语法。 4 INSERT IGNORE INTO INSERT INTO ON DUPLICATE KEY UPDATE INSERT INTO ON CONFLICT DO UPDATE INSERT INTO ON CONFLICT DO NOTHING 支持UPSERT功能。 5 INSERT OVERWRITE INTO INSERT OVERWRITE覆盖导入功能。 6 ALTER TABLE REFRESH STORAGE 进行冷热表的冷热切换,将热数据变冷。 7 ALTER VIEW ONLY view_name REBUILD alter view only viewname REBUILD。 8 ALTER SERVER REFRESH 用以HDFS配置变动时,刷新HDFS SERVER的配置文件。 修改 9 操作符^ MySQL兼容模式下处理为异或,ora/td模式为幂运算。 10 MERGE INTO MERGE INTO语句的目标表上包含触发器时报错。 11 CREATE/ALTER Table 新增Reloptions中cold_tablespace和storage_policy冷热表相关的选项。
  • 8.3.0.105 表2 8.3.0.105新增功能/解决问题列表 类别 功能或问题描述 问题原因 问题出现版本 修复建议 新增功能 无 - - - 解决问题 多count distinct走share scan出现结果集错误 sharescan计划生成时,CTE子查询误用了上层的等价类信息,造成分布列判断错误,生成计划缺少数据重分布算子 8.3.0.105以前版本 升级到8.3.0.105及以上版本 升级到830版本后系统表autovacuum未生效 升级830前做过容灾迁移,容灾迁移会先设置autovacuum_max_workers为0,再修改成原来的默认值3,导致升级后未将该值设为预期的值6 8.3.0.105以前版本 修复UDF在recv接收数据时,可能存在超时后error为EAGAIN但没有被捕获直接报错的问题 当cn_retry开启时,socket recv 20s超时后,EAGAIN的错误码没有被捕获,直接走到报错逻辑 8.3.0.105以前版本
  • 8.3.0.101 表4 8.3.0.101新增功能/解决问题列表 类别 功能或问题描述 问题原因 问题出现版本 修复建议 新增功能 vacuum full适配binlog表。 - - - 解决问题 analyze语句报错Could not open file "pg_clog/000000000075" 列存表进行vacuumfull后可能提前回收clog,导致主备切换后进行analyze时无法访问clog文件。 8.3.0.100 升级到8.3.0.101及以上版本 使用\parallel on高并发下创建job报错duplicate key value violates unique constraint "pg_jobs_id_index" ,Key(job_id)=() already exists。 获取job_id处的锁未成功加上,导致并发时取到相同job_id报错。 8.3.0.100 多个nodegroup场景下,重分布不支持跳过指定表,导致缩容失败。 重分布不支持跳过指定表。 8.3.0.100 执行Hstore用例,网卡故障时,因为内存为超大负数,导致用例执行失败。 临时变量声明后,未赋值导致参数值非预期,后续再去扣减内存,内存出现超大负数。 8.3.0.100
  • 8.1.3.320 表6 8.1.3.320新增功能/解决问题列表 类别 功能或问题描述 问题原因 问题出现版本 修复建议 新增功能 truncate、exchange与select并发: 新增GUC参数ddl_select_concurrent_mode,该特性主要解决数据量较大或复杂查询的场景中,查询语句持续时间过长,阻塞DDL的场景,与Oracle效果一致。 支持场景: 支持truncate和select并发; 支持exchange和select并发。 场景约束: 与高级别的锁冲突(大于1级),不支持并发(比如autoanalyze_mode=normal时,同时select触发了autoanalyze); 与事务块中的锁冲突,不支持并发。 DWS常用连接方式约束: jdbc、odbc、python驱动时,如果程序设置了autocommit = false,不支持该特性; Data Studio下发的所有查询语句,自动起事务,不支持该特性。 - - - 支持控制LIMIT语句是否启用early stop优化: 新增GUC参数enable_limit_stop,控制LIMIT语句是否启用early stop优化。 - - - 解决问题 语句级估算内存超过max_process_memory限制,导致ccn排队。 语句级估算内存超过max_process_memory限制。 8.1.3.310及以下版本 升级到8.1.3.320及以上版本。具体升级策略请参见版本收编策略。 执行merge报错:value xxx is out of range for type integer。 pg_toast_get_baseid()函数中使用int接口处理OID。 8.1.3.310及以下版本 查询20万行数据大表的脏页率视图,内存占用大。 查询数据的时候,查询统计信息的内置函数中创建的链表内每个结点上申请了内存空间用于存放tupStatus,查询结束后,仅释放了链表上结点的内存,结点内申请的内存未释放。 8.1.1.x版本 Vacuum执行超时被查杀后,部分DN出现线程残留,无法响应信号,阻塞其他语句执行。 由于btvacuumscan中未响应信号,导致Vacuum执行超时被查杀后,部分dn出现线程残留,无法响应信号。 8.1.1.x版本 对MySQL兼容库中的分区表、时序表执行analyze百分比采样操作时报错:unsupported feature with temporary/unlogged table for partitioned table。 由于8.1.3版本中为了兼容MySQL中CREATE TABLE LIKE语法,默认继承模式为INCLUDING ALL,且执行analyze百分比采样时,含有自动创建临时复制表命令,导致analyze时出现报错。 8.1.3.310及以下版本 冷热表的select查询语句触发runtime autoanalyze,性能慢。 执行truncate partition,exchange partition,drop partition,alter distribute,alter column type这五种操作后,再执行select该表会触发autoanalyze。 8.1.3.310及以下版本 pg_session_wlmstat中elapsed_time与TOP SQL实际执行的时间不一致。 查询pg_session_wlmstat视图,语句处于RUNNING状态时elapsed_time过大。 8.0.x 给外表执行grant select权限时报错:has no distribute type。 obs dfs server只写外表没有指定默认的分布方式导致报错。 8.1.3.310及以下版本
  • 8.1.3.325 表4 8.1.3.325新增功能/解决问题列表 类别 功能或问题描述 问题原因 问题出现版本 修复建议 新增功能 新增支持GB18030_2022的字符编码。 支持禁用子查询hint功能。 GDS外表兼容utf8非法字符。 - - - 解决问题 DN节点重启,日志截断,集群出现hang问题。 stream线程报错打印日志时,响应了cancel信号,再次打印日志会引发hang问题。 8.1.3.320 升级到8.1.3.325。 业务表创建偶现报错:relation “xxx” already exists。 业务偶现报错:could not read block xxx in file "xxx"。 OID使用超过42亿之后重新开始分配,在复用过程中引起业务偶现报错。 8.1.3.323及以下版本 DN备机checkpoint无法成功,导致备机xlog日志无法回收,持续堆积。 DN备机在redo checkpoint时,如果看到有不完整的btree分裂就会报告RM 11问题,实际上可能是btree分裂失败或者处于btree分裂过程中。 8.1.3.323及以下版本 列存表执行轻量化update和后台执行autovacuum并发操作时报错:Unsupported to update different rows with the same cuid and col in light update。 在轻量化update中,不支持使用相同的cuid和col更新不同的行。 8.1.3.323及以下版本 某些场景no_merge的hint操作不生效。 不支持禁用子查询hint功能。 8.1.3.323及以下版本 后台执行长时间查询语句时,通过CTRL + C方式结束语句未等语句彻底退出,又通过CTRL + Z方式退出gsql客户端,会导致语句残留。 CN收到CTRL + C的取消信号后,CN线程处于报错长跳转流程中,此时去调用EmitErrorReport,而EmitErrorReport未响应信号。 8.1.3.323及以下版本 使用大宽表与实时表做关联更新时出现内存占用率太高,影响性能。 使用大宽表与实时表做关联更新,更新时update会将无关列加上,导致执行计划做优化器估算时内存占用率太高,影响性能。 8.1.3.323及以下版本 ShareScan计划中,存放CTE的tuplestore和batchstore的内存不能扩展易产生下盘。 ShareScan执行计划结构体中的cteMaxMem未进行copy、read和write处理,导致DN上在CTE的执行计划上未获取到该值,导致创建的保存CTE结果集的tuplestore和batchstore无法进行内存扩展而下盘。 8.1.3.323及以下版本 执行列存轻量化update报错:could not determine data type of parameter。 在执行计划的Remote query中,创建parame参数为其在基表中的位置,且系统列也匹配不上该参数。 8.1.3.323及以下版本
  • 8.1.3.336 表1 8.1.3.336新增功能/解决问题列表 类别 功能或问题描述 问题原因 问题出现版本 修复建议 新增功能 无 - - - 解决问题 外表导入报错value too long for type character varying(512)。 ORC外表类型与文件对应字段类型不一致时(外表类型是varchar(y),文件对应字段类型是string),导入时由于字段超长导致报错。 8.1.1.100 升级到8.1.3.336及以上。 OpenSSL变更引起CM启动调度器报错,影响安装、扩容、调度器功能。 OpenSSL更改了LD_LIBRARY_PATH的顺序,系统目录在前,GAUSS目录在后,导致启动调度器时找到了错误的so文件,启动失败。 8.1.3.336以前
  • 8.1.3.330 表3 8.1.3.330新增功能/解决问题列表 类别 功能或问题描述 问题原因 问题出现版本 修复建议 新增功能 无 - - - 解决问题 insert into select语句在计划生成阶段core,执行select部分不会core。 ORCLAUSE转换,对两个相同的sublink替换,将其指向同一个OpExpr,再次提升时在OffsetVarNodes中会将varno调整两次,造成后续core。 8.1.3.330以前版本 升级到8.1.3.330及以上。 列存轻量化用例概率触发core:CStorePartitionInsert::findBiggestPartition。 列存分区表统计bulkloadUsedMemSize,将update算子和insert算子混在一起统计,但是在判断是刷盘到disk时,内存自适应的大小是根据每个算子估出来的,导致g_bulkloadUsedMemSize统计常常大于估算值,update算子占用内存到估算内存临界值时,可能造成insert算子一条数据都无法插入。 8.1.3.330以前版本 出现wait ccn排队,但是看资源池的估算内存和占用内存,以及并发数未到排队阈值。 作业在CCN排队时无法进行全局内存校准,阻塞了作业。 8.1.3.330以前版本 用户直接查表没有权限 ,但是嵌套一层查询就可以查到。 light proxy的权限检查是在CN的checkLightQuery中调用权限校验公共函数ExecCheckRTPerms实现的,在DN上不会再进行权限检查。而在调用ExecCheckRTPerms时,其入参rangeTables需要是RTE_RELATION。否则会在ExecCheckRTEPerms中直接返回true。当是嵌套SQL时,类型是RTE_SUBQUERY,绕过了权限检查。 8.1.3.330以前版本 作业运行过程中偶现删除语句报错,报错信息为canceling statement due to statement timeout。 w报文未重新设置事务时间,导致线程复用。 8.1.3.330以前版本 json类型查询内存泄露,导致重分布占用大量内存影响业务。 在jsonb的out函数中存在内存未释放问题,数据量大时出现堆积造成使用内存高。 8.1.3.330以前版本 作业并发执行报错:tuple concurrently updated。 分区和表的oid相同,analyze时使用分区的oid更新了pg_object,实质上是将表的pg_object记录更新。此时有并发的DDL操作,例如alter table同时更新了表的pg_object记录,就会出现并发更新的报错。 8.1.3.330以前版本
共100000条