云服务器内容精选

  • 步骤五:准备DWS对接Flink工具dws-connector-flink dws-connector-flink是一款基于DWS JDBC接口实现对接Flink的一个工具。在配置 DLI 作业阶段,将该工具及依赖放入Flink类加载目录,提升Flink作业入库DWS的能力。 浏览器访问https://mvnrepository.com/artifact/com.huaweicloud.dws。 在软件列表中选择Flink相应版本号1.15,本实践选择DWS Connector Flink SQL 1 15。 选择最新分支,实际请以官网发布的新分支为准。 单击jar图标下载即可。 创建OBS桶,本实践桶名设置为obs-flink-dws,并将此文件dws-connector-flink-sql-1.15-2.12_2.0.0.r4.jar上传到OBS桶下,注意桶也保持与DLI在一个区域下,本实践为“ 华北-北京四”。
  • 步骤一:准备MySQL数据 购买RDS实例,参见表1配置关键参数,其他参数可保持默认,如需了解详情请参见RDS文档。 表1 RDS参数 参数项 取值 计费模式 按需计费 区域 华北-北京四 实例名称 rds-demo 数据库引擎 MySQL 数据库版本 5.7及以上 数据库端口 3306 连接RDS实例,执行以下命令,创建名为mys_data数据库。 1 CREATE DATABASE mys_data; 切换到新的数据库mys_data,并执行以下命令,创建表mys_orders。 1 2 3 4 5 6 7 8 CREATE TABLE mys_data.mys_order ( order_id VARCHAR(12), order_channel VARCHAR(32), order_time DATETIME, cust_code VARCHAR(6), pay_amount DOUBLE, real_pay DOUBLE, PRIMARY KEY (order_id) ); 执行以下命令向表中插入数据。 1 2 INSERT INTO mys_data.mys_order VALUES ('202306270001', 'webShop', TIMESTAMP('2023-06-27 10:00:00'), 'CUST1', 1000, 1000); INSERT INTO mys_data.mys_order VALUES ('202306270002', 'webShop', TIMESTAMP('2023-06-27 11:00:00'), 'CUST2', 5000, 5000); 执行以下命令,验证数据是否插入成功。 1 SELECT * FROM mys_data.mys_order;
  • GAUSS-00891 -- GAUSS-00900 GAUSS-00891: "source partitions must be at least two partitions" SQLSTATE: XX000 错误原因:MergePartition操作时,检测到原始分区数目小于2,故不能进行MergePartition操作。 解决办法:建议检查表的原始分区数目,数目小于2个时,不能进行合并操作。 GAUSS-00892: "merge partitions of relation '%s', source partitions must be no more than %d partitions" SQLSTATE: XX000 错误原因:合并的分区数大于支持的最大合并的分区数。 解决办法:减少合并的分区数。 GAUSS-00893: "merge partitions cannot process unusable index relation \''%s\''" SQLSTATE: XX000 错误原因:MergePartition操作时,检测到包含不可用的本地索引,不能进行MergePartition操作。 解决办法:建议检查表的本地索引可用性,修改不可用索引,再进行MergePartition操作。 GAUSS-00894: "can not merge partition because partition %s has unusable local index" SQLSTATE: XX000 错误原因:MergePartition操作时,检测到包含不可用的本地索引,不能进行MergePartition操作。 解决办法:建议检查表的本地索引可用性,修改不可用索引,再进行MergePartition操作。 GAUSS-00895: "source partitions must be continuous and in ascending order of boundary" SQLSTATE: XX000 错误原因:MergePartition操作时,原始分区应满足连续性且边界升序,否则不能合并。 解决办法:建议检查原始分区是否满足连续性及边界递增条件,满足该条件才能进行合并操作。 GAUSS-00896: "target partition's name '%s' already exists" SQLSTATE: 42710 错误原因:MergePartition操作时,目标分区名已经存在,不能进行本操作。 解决办法:建议修改目标分区名,避免名字冲突。 GAUSS-00897: "could not acquire AccessExclusiveLock on dest index partition '%s', MERGE PARTITIONS failed" SQLSTATE: XX000 错误原因:merge partition操作时,没有拿到分区的AccessExclusiveLock。 解决办法:可能由于并发冲突引起,稍后再试。 GAUSS-00898: "could not acquire AccessExclusiveLock on dest table partition '%s', MERGE PARTITIONS failed" SQLSTATE: XX000 错误原因:不能获取合并分区的排他锁。 解决办法:检查合并分区是否在进行其他操作。 GAUSS-00899: "Specified partition does not exist" SQLSTATE: 42P01 错误原因:ExchangePartition操作时,检测到指定分区不存在,不能进行此操作。 解决办法:建议检查分区名称,确定分区名称后再进行此操作。 GAUSS-00900: "ALTER TABLE EXCHANGE requires an ordinary table" SQLSTATE: 0A000 错误原因:ALTER TABLE EXCHANGE操作只能作用于普通表,否则不能执行此操作。 解决办法:ALTER TABLE EXCHANGE操作只能作用于普通表。 父主题: GAUSS-00801 -- GAUSS-00900
  • GAUSS-00401 -- GAUSS-00410 GAUSS-00401: "access method 'psort' does not support index expressions" SQLSTATE: 0A000 错误原因:在CREATE INDEX或ALTER TABLE语法中INDEX子句中指定的访问方式如果为psort时,INDEX子句中不支持表达式。 解决办法:在CREATE INDEX或ALTER TABLE语法中INDEX子句中指定的访问方式如果为psort时,请检查INDEX子句中是否存在表达式,并修改语法。 GAUSS-00402: "Partition key value can not be null" SQLSTATE: 42601 错误原因:创建范围分区表时,通过PARTITION BY RANGE (partition_key)(range_partition_definition_list)指定的分区键值不能为空。 解决办法:请检查创建范围分区表时,通过PARTITION BY RANGE (partition_key)指定的分区键是否为空,并增加有效的分区键值。 GAUSS-00403: "partition key value must be const or const-evaluable expression" SQLSTATE: 42601 错误原因:创建范围分区表时,通过PARTITION BY RANGE (partition_key)(range_partition_definition_list)指定的分区键值不可度量。 解决办法:创建范围分区表时,通过PARTITION BY RANGE (partition_key)(range_partition_definition_list)指定的分区键值时,需要保证分区键值必须为可度量的常量或常量表达式。 GAUSS-00404: "argument name '%s' used more than once" SQLSTATE: 42601 错误原因:语法错误,参数名重名。 解决办法:修改重名的参数名。 GAUSS-00405: "positional argument cannot follow named argument" SQLSTATE: 42601 错误原因:语法错误,位置参数不能在命名参数之后。 解决办法:修改参数位置。 GAUSS-00406: "%s(*) specified, but %s is not an aggregate function" SQLSTATE: 42809 错误原因:指定了%s(*),但是函数却不是聚集函数。 解决办法:选择一个有效的聚集函数。 GAUSS-00407: "DISTINCT specified, but %s is not an aggregate function" SQLSTATE: 42809 错误原因:指定了DISTINCT,但是函数却不是聚集函数。 解决办法:选择一个有效的聚集函数。 GAUSS-00408: "ORDER BY specified, but %s is not an aggregate function" SQLSTATE: 42809 错误原因:指定了ORDER BY,但是函数却不是聚集函数。 解决办法:选择一个有效的聚集函数。 GAUSS-00409: "OVER specified, but %s is not a window function nor an aggregate function" SQLSTATE: 42809 错误原因:指定了OVER,但是函数却不是窗口函数或者聚集函数。 解决办法:选择一个有效的窗口函数或聚集函数。 GAUSS-00410: "function %s is not unique" SQLSTATE: 42725 错误原因:函数不唯一。 解决办法:增加精确的类型转换来选择一个更合适的函数。 父主题: GAUSS-00401 -- GAUSS-00500
  • GAUSS-04171 -- GAUSS-04180 GAUSS-04171: "temporary file size exceeds temp_file_limit (%dkB)" SQLSTATE: 53400 错误原因:临时文件大小达到上限。 解决办法:1. 对存储过程中临时表执行ANALYZE。2. 对数据量变化较大的表执行VACUUM FULL。3.调整GUC参数temp_file_limit,该参数用于在语句执行过程中触发落盘操作时,限制语句中单个线程落盘文件的总空间大小。建议配置temp_file_limit为实例所在磁盘空间总容量的10%。 GAUSS-04173: "Invalid socket fd '%d' for poll():%m" SQLSTATE: XX000 错误原因:系统内部错误。 解决办法:请联系技术支持工程师提供技术支持。 GAUSS-04174: "'%s:%d' connect failed" SQLSTATE: XX000 错误原因:系统内部错误。 解决办法:请联系技术支持工程师提供技术支持。 GAUSS-04176: "AllocateDesc kind not recognized" SQLSTATE: XX000 错误原因:系统内部错误。 解决办法:请联系技术支持工程师提供技术支持。 GAUSS-04178: "could not read directory '%s': %m" SQLSTATE: XX000 错误原因:系统内部错误。 解决办法:请联系技术支持工程师提供技术支持。 GAUSS-04179: "SMgrRelation hashtable corrupted" SQLSTATE: XX000 错误原因:哈希表损坏。 解决办法:尝试重新启动节点来解决。 GAUSS-04180: "cannot extend file '%s' beyond %u blocks" SQLSTATE: 54000 错误原因:表的页数达到上限。 解决办法:执行VACUUM或创建新表。 父主题: GAUSS-04101 -- GAUSS-04200
  • GAUSS-04451 -- GAUSS-04460 GAUSS-04451: "md async write error,write offset(%ld), file size(%ld)" SQLSTATE: XX000 错误原因:异步IO写数据文件前检测到文件大小错误。 解决办法:检测文件状态是否正确,可尝试重新执行。 GAUSS-04452: "async write failed, write_count(%ld), require_count(%d)" SQLSTATE: XX000 错误原因:异步IO写数据文件操作异常。 解决办法:从备机或者备份数据恢复集群数据文件。 GAUSS-04453: "build global dfs connect cache hash table failed" SQLSTATE: 42704 错误原因:系统内部错误。全局缓存HDFS连接信息失败。 解决办法:请联系技术支持工程师提供技术支持。 GAUSS-04454: "Login failed, check your principal and keytab." SQLSTATE: XX000 错误原因:登录连接HDFS失败。 解决办法:首先检查HDFS客户端配置的keytab文件是否正确,若没有问题,请联系技术支持工程师提供技术支持。 GAUSS-04455: "Failed to remove external directory '%s', because files exist in the directory." SQLSTATE: XX000 错误原因:删除HDFS上的目录失败。 解决办法:HDFS上该目录下存在文件,确保该目录下的文件已经没有必要存在时,手动删除目录下面的文件。 GAUSS-04456: "could not initialize DFS connector hash table" SQLSTATE: XX000 错误原因:系统内部错误。创建全局的HDFS连接缓存失败。 解决办法:请联系技术支持工程师提供技术支持。 GAUSS-04457: "Can not get proper HdfsUser." SQLSTATE: XX000 错误原因:系统内部错误。创建HDFSUser失败。 解决办法:请联系技术支持工程师提供技术支持。 GAUSS-04458: "krb5 is not thread safe, add thread safe option to re-compile krb5" SQLSTATE: XX000 错误原因:系统内部错误。检测kerberos是非线程安全的。 解决办法:请联系技术支持工程师提供技术支持。 GAUSS-04459: "unknow option %d" SQLSTATE: XX000 错误原因:系统内部错误。kerberos认证错误。 解决办法:请联系技术支持工程师提供技术支持。 GAUSS-04460: "Failed to get the value of '%s' from confige file." SQLSTATE: XX000 错误原因:从配置文件获取HDFS的NameNode的信息失败。 解决办法:需要检查HDFS客户端的配置文件hdfs-site.xml中是否配置dfs.ha.namenodes.hacluster项。 父主题: GAUSS-04401 -- GAUSS-04500
  • 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, delimiter) 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改写。
  • 系统视图 表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 废弃系统函数日落。
  • 行为变更 表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状态。
  • 版本收编策略 表2 版本收编 当前版本 是否EOS 收编建议 升级方案 1.5.x/1.6.x 是 不支持直接升级,建议迁移到8.1.3.336(推荐版本)。 建议联系技术支持评估后操作。 1.7.x 是 建议升级到8.1.3.336(推荐版本)。 不支持跨多版本直接升级到8.1.3.336,需要多跳升级,建议联系技术支持评估后升级。 8.0.1.x 否 建议升级到8.1.3.336(推荐版本)。 不支持跨多版本直接升级到8.1.3.336,需要多跳升级,建议联系技术支持评估后升级。 8.1.0.x 否 建议升级到8.1.3.336(推荐版本)。 不支持跨多版本直接升级到8.1.3.336,需要多跳升级,建议联系技术支持评估后升级。 8.1.1.x~8.1.3.323 否 建议升级到8.1.3.336(推荐版本)。 支持直接升级到8.1.3.336,建议联系技术支持评估后升级,支持在控制台升级,参见升级集群。 8.2.0.x(白名单用户版本) 否 建议升级到8.3.0.110。 支持直接升级到8.3.0.110,建议联系技术支持评估后升级,支持在控制台升级,参见升级集群。 8.2.1.1xx(白名单用户版本) 否 建议升级到8.3.0.110。 支持直接升级到8.3.0.110,建议联系技术支持评估后升级,支持在控制台升级,参见升级集群。 8.2.1.2xx(白名单用户版本) 否 建议升级到8.3.0.110。 支持直接升级到8.3.0.110,建议联系技术支持评估后升级,支持在控制台升级,参见升级集群。 8.2.1.3xx(白名单用户版本) 否 建议升级到8.3.0.110。 支持直接升级到8.3.0.110,建议联系技术支持评估后升级,支持在控制台升级,参见升级集群。 8.3.0.x 否 建议升级到8.3.0.110。 支持直接升级到8.3.0.110,建议联系技术支持评估后升级,支持在控制台升级,参见升级集群。 9.0.1/9.0.2 否 建议升级到9.1.0.218。 不支持跨多版本直接升级到9.1.0.105,先升级到9.0.3,再升级到9.1.0.218。支持在控制台升级,参见升级集群。 9.0.3/9.1.0.x 否 建议升级到9.1.0.218。 支持直接升级到9.1.0.218,建议联系技术支持评估后升级,支持在控制台升级,参见升级集群。
  • 版本生命周期 表1给出了 GaussDB (DWS)版本生命周期(仅体现发布号),帮助您规划自己的版本更新节奏。 对于已经停止服务与支持(EOS)的版本或非推荐版本,建议参见版本收编策略升级到最新稳定版本。 表1 GaussDB(DWS)版本生命周期 版本名称 状态 发布时间 EOM时间(停止销售) EOS时间(停止服务与支持) 9.1.0.x 已发布 2024年7月30日 2027年6月30日 2028年12月30日 9.0.x 已发布 2023年9月30日 2025年6月30日 2026年6月30日 8.3.0.x 已发布 2024年3月30日 2026年3月30日 2027年3月30日 8.2.1.x 已发布 2023年5月30日 2026年6月30日 2027年12月30日 8.2.0.x 已发布 2022年11月30日 2025年9月30日 2027年3月30日 8.1.3.x 已发布 2022年3月30日 2025年3月30日 EOS时间延期,时间待评估 8.1.1.x EOM 2021年7月30日 2023年6月30日 2025年12月31日 8.1.0.x EOM 2021年5月15日 2023年6月30日 2025年12月31日 8.0.1.x EOS 2020年3月16日 2022年12月31日 2024年12月31日
  • 9.1.0.100版本(2024年8月12日) 【弹性架构】 架构升级:基于华为云 对象存储服务 OBS,推出存算分离架构3.0,计算、存储分层弹性,存储按需收费,降本增效;计算支持多VW(Virtual Warehouse,逻辑集群,以下简称VW)部署,业务隔离性更好,解决业务间的资源争抢问题。 推出弹性VW特性,弹性VW完全无状态,支持读写加速,灵活应对并发处理能力不足、业务波峰波谷不均衡、数据加载和数据分析资源争抢等问题,详情参见弹性增删逻辑集群。 增删DN节点,支持弹性扩容和经典扩容,弹性扩容不会对OBS上的数据进行重分布,经典扩容会重分布所有数据,系统会根据bucket总数和DN数目,自动决定采用何种扩容方式。 存算分离架构(DWS 3.0)通过磁盘缓存和IO异步读写提升性能,在磁盘缓存全命中时,持平存算一体架构(DWS 2.0)。 图1 存算分离架构
  • 9.1.0.215补丁(2025年3月) 该版本为补丁版本,主要修复以下问题: 表2 9.1.0.215补丁新增功能/解决问题列表 类别 功能或问题描述 问题原因 问题出现版本 修复建议 新增功能 无。 - - - 解决问题 智能运维调度触发下盘。 智能运维调度器在查询表大小时,通过pgxc_parallel_query函数下发到每个DN执行,而DN查询的结果集包括列存表的cudesc、delta等辅助表,而分区也有子表,且每个分区又有cudesc、delta,导致最终结果集较大。 DN将这些查询结果统一汇总到CN时,结果集太大触发下盘操作,导致查询慢或者磁盘容量冲高等现象。 8.3.0.100 升级到9.1.0.215及以上版本 使用存算分离V3表并关闭DiskCache场景下,偶现进程异常退出。 使用存算分离V3表场景下,如果关闭DiskCache,业务线程在读取OBS对象时申请空间失败的情况下,会触发事务回滚从而概率性导致异常。 9.1.0 节点亚健康(Hang)场景下,CM组件无法下发重启集群命令。 cm_ctl启动集群分为两个阶段: 检查各个节点状态,需要pssh连接到各个节点进行检查。 删除启停文件,需要pssh连接到各个节点进行删除。 SSH命令中参数解析不正确,导致节点故障时检查单个故障节点耗时超过300s,如果有多个节点同时故障则耗时会成倍增加,引发命令无法下发。 8.1.3 使用 数据湖 场景下,如果并发量超高(3000+),会引发CN与DN建连变慢从而导致整体性能变慢。 当前1个文件只会分配给一个DN。但是执行计划中,CN还是会和所有DN都建立连接。在数据湖的场景下,需要支撑单集群3000+并发,这块的开销就会很大。 9.1.0 使用数据湖场景下,如果写入过程字段超长时,会偶现DN进程异常。 数据湖场景下,写入过程中出现字段超长此时会报错,在事务回滚过程中,会调用清理相关逻辑,此时由于部分内存已经被提前释放,导致函数报错,触发DN进程异常退出。 9.1.0 安全漏洞(SQL注入漏洞(CVE-2025-1094))修复。 PostgreSQL漏洞公告 SQL注入漏洞(CVE-2025-1094),识别产品是否涉及该漏洞。 9.1.0 在行列混合场景,NestLoop算子+Stream算子的场景下偶现查询异常的问题。 Nestloop算子下有stream算子,需要先执行inner侧的物化算子。在行存和列存混合场景,在物化算子上有Row Adapter算子,此时造成未执行物化算子,引发Hang操作。 8.3.0.108 通信线程中空闲期检查DN连接造成数据库偶现慢问题。 通信线程(libcomm send proxy线程)在空闲期会遍历所有与其他DN的连接进行检查,单次检查消耗1ms,在大集群上遍历100+连接,可能耗时100ms以上,会阻塞下一个报文的发送,此时在实时性要求比较高的业务场景下会导致业务查询偶现慢。 9.1.0
  • 9.1.0.210版本(2024年11月25日) 【存算分离】 支持通过使用explain warmup进行缓存预热,可以把数据预热到本地磁盘缓存的冷端或者热端。 弹性VW功能增强:更灵活的业务分流方式,支持以CN粒度配置业务分流到主VW或者弹性VW。 存算分离表支持insert并行,提升数据加载性能。 存算分离表支持回收站,可以对drop table/partition, truncate table/partition等误操作进行快速闪回。 冷热表支持使用磁盘缓存、异步IO进行性能加速。 【实时数仓】 limit…offset翻页场景性能大幅提升;inlist场景性能大幅提升。 正式商用Binlog特性。 自动分区支持整型和变长类型的时间列。 【湖仓一体】 parquet/orc读写新增对zstd压缩格式的支持。 Create table like支持使用external schema中的表作为like源表。 外表支持并行导出。 【高可用】 存算分离表和冷热表支持增量备份恢复。 通过并行拷贝优化存算分离场景的备份性能。 【生态兼容】 兼容MySQL的replace into语法,interval时间类型。 pg_get_tabledef导出支持字段展示comment。 【运维&稳定性提升】 磁盘使用率高时,支持配置从备数据转储到OBS。 当数据库即将发生只读时,拦截一些发生下盘的语句和产生新表和新物理文件的语句,以此快速回收磁盘空间,保证其它语句执行。 支持审计日志转储到OBS。 新增轻量级锁视图pgxc_lwlocks。 常规锁视图新增锁获取和等待时间戳。 全局死锁检测功能默认打开。 新增vacuum full与select之间的让锁功能。 gs_view_invalid增加失效时间,辅助运维人员清理无效对象。 【规格&约束】 最大支持256个VW,每个VW 最大支持1024个DN。建议VW不超过32个,每个VW不超过128个DN。 OBS存算分离表不支持容灾,不支持细粒度备份恢复。 【行为变更】 升级开启max_process_memory自适应功能,主备均衡模式下,增加DN可用内存。 扩容数据重分布默认开启数据一致性校验,扩容时间会增加10%。 新建Hstore_opt表,默认打开turbo引擎,压缩级别默认为middle。 存算分离表OBS路径默认显示为相对路径。 使用磁盘缓存(diskcache)必须同时打开异步IO参数。 列存表的索引清理时间间隔从1小时调小为10分钟,可以更快速地清理占用的索引空间。 CREATE TABLE和ALTER TABLE不支持将有on update表达式的列设置为分布列。 Parquet数据查询,读取INT96格式保存的Timestamp数据时不再做8小时修正。 max_stream_pool用于控制stream线程池缓存的线程数量,默认值由65525调整至1024,避免空闲线程内存占用过大。 track_activity_query_size参数从动态生效调整为重启生效。 不再支持逻辑复制功能,相关接口调用会报错。