-
9.0.2版本 【新增功能】 表2 9.0.2版本新增功能 场景 特性 描述 参考文档 湖仓一体 一键湖仓 通过create external schema直接对接HiveMetaStore元数据,避免复杂的create foreign table操作。 - 外表analyze支持并行 通过enable_parallel_analyze参数控制,默认打开,显著提升analyze统计信息收集的速度。 注:外表不具备auto analyze能力,建议导数之后手动做analyze收集统计信息。 - 外表支持parquet/orc格式读写 支持覆盖写、追加写,支持多级分区读写。 CREATE FOREIGN TABLE (SQL on OBS or Hadoop) disk cache加速外表读 外表支持使用本地disk cache进行读加速。 - 外表支持datamasking,支持行级访问控制 外表支持datamasking,支持行级访问控制 - 存算分离 计算、存储分离 列存表通过指定COLVERSION=3.0创建为OBS存算分离表,用户数据存储在OBS存储,按需收费。 CREATE TABLE OBS存算分离表数据支持异步读、异步写 OBS存算分离表数据支持异步读、异步写。 - OBS存算分离表支持并行analyze OBS存算分离表支持并行analyze,通过GUC参数enable_parallel_analyze控制,默认打开。 - 备份恢复 OBS存算分离表只支持全量备份恢复。 - 支持弹性VW 弹性VW(Virtual Warehouse,逻辑集群)支持读写加速,弹性VW启动固定耗时12min,与系统当前的节点规模、对象数、数据量无关,可通过增加弹性VW提升系统的读写能力、并发能力、资源隔离能力。 定时增删DWS 3.0逻辑集群 支持弹性扩容和经典扩容 弹性扩容不会对OBS上的数据进行重分布,经典扩容会重分布所有数据,系统会根据table_buckets/总dn数的值是否超出[min_table_buckets_per_dn, max_table_buckets_per_dn]区间,自动决定采用何种扩容方式。 扩容对系统的影响 新增OBS监控视图 新增OBS监控视图PGXC_OBS_IO_SCHEDULER_PERIODIC_STATS。 - 新增磁盘缓存视图 新增磁盘缓存视图PGXC_DISK_CACHE_STATS、PGXC_DISK_CACHE_ALL_STATS。 - 残留文件清理 新增残留文件检测、清理函数pgxc_scan_residualfiles、pgxc_rm_scan_residualfiles_archive - 性能优化 优化sort内存排序性能 优化sort内存排序性能。 - 【行为变更】
-
9.0.3版本 【新增功能】 表1 9.0.3版本新增功能 场景 特性 描述 参考文档 湖仓一体 支持可读写外表 支持可读写外表,同一张外表可读可写。 - 外表查询性能提升 支持in/not in等谓词下推,增强分区剪枝能力。 - 支持复杂类型map/struct/array,支持bytea/blob类型。 支持复杂类型map/struct/array,支持bytea/blob类型。 - 外表导出支持并行 外表导出支持并行(需打开enable_insert_foreign_table_dop,默认关闭),并行导出会消耗更多的CPU和内存资源。 - 支持insert overwrite 支持全表和单分区的insert overwrite。 INSERT 支持读取HiveMetaStore统计信息 External Schema表支持读取HiveMetaStore统计信息。 - 存算分离 异步读优化 优化异步读的效果。 - OBS存算分离表支持insert overwrite OBS存算分离表支持insert overwrite INSERT 本地disk cache支持冷热设置 本地disk cache支持冷热设置,不同分区可配置不同的缓存策略。 - 引擎增强 列存支持jsonb/json类型 列存支持jsonb/json类型。 -
-
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改写。
-
系统函数 表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 废弃系统函数日落。
-
系统视图 表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 废弃系统视图日落。
-
行为变更 表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状态。
-
行为变更 表7 行为变更 变更类型 序号 名称 变更描述 新增 1 分区视图依赖变化 8.2.1以前版本,没有对select partition()或者partition for()语句的视图建立视图依赖,造成查询报错。 8.2.1版本后新增分区oid依赖,对于drop分区或者修改分区范围值在视图解耦场景下引发视图重建,非视图依赖场景下会报错。 修改 2 增加GTM上gtm_max_trans参数取值上限。 先将线程最大限制调大,可以给现网一个逃生通道,解决某些局点集群规模大,业务并发高,可能存在达到线程上限进而无法连接的问题。 3 max_process_memory CN调整为DN的一半。 4 Catchup流程 去掉了数据页Catchup的事务锁,Catchup不再和DDL之间有互等关系;增加了LwLock,通过事务提交的LwLock进行Catchup以及DDL业务之间的串行操作,避免Catchup访问到空文件。 5 备DN checkpoint时机 备DN的checkpoint不再等待15min按周期运行,而且redo到checkpoint点后,会强制执行一次checkpoint,避免大数据xlog导入场景下,备DN的Rto过长。 6 备DN文件关闭时机 备DN执行heap_xlog_newpage以及seq_redo时,首页面写入数据后,会强制关闭。 7 indexscan hint可包含indexonlyscan indexscan hint可包含indexscan和indexonlyscan;与indexonlyscan hint同时存在时,indexonlyscan优先生效。 8 大小写表达式不支持roughcheck 大小写表达式不再支持roughcheck,因cu的minmax基于C排序计算,下推会有结果集问题。 9 多count(distinct)重写时,使用CTE进行重写 重写行为发生变化,非share scan场景不影响后续展开过程,share scan场景生成stream CTE的计划。 10 TopSQL子语句监控 TopSQL子语句监控规格从递归打开,变更为仅记录第一层子语句。 11 ArrayLockFreeQueue 无锁队列初始化分配内存不会超过1GB。 12 Explain Explain结果集新增显示unique sql id。 13 Explain Explain+查询语句的unique sql id与查询语句相同。 14 GS/PGXC_WLM_SESSION_STATIS
TICS 视图 GS/PGXC_WLM_SESSION_STATISTI
CS 视图新增unique sql id字段。 15 GROUP BY后不需体现所有非聚合函数查询字段 8.1.3版本处理时会将非聚合函数查询字段补为min(xx)的形式,8.2.0及以上版本修改为取该列随机值。 8.2.0版本对于多列非聚合函数查询字段取值时取该列非NULL值,会出现结果集不同行场景,8.2.1版本修改为结果集为相同行。 16 alter function owner to superuser 禁止了sysadmin用户修改函数/存储过程的owner到系统用户的场景。保留系统用户change到系统用户的场景。 17 (+)连接顺序变化,会导致带有nvl等表达式的结果集产生变化 (+)连接顺序与Oracle看齐,原(+)连接顺序与join关联顺序相关,改写后带有nvl等相关表达式的关联条件顺序及结果集会有变化。 18 hstore表并发更新同一行会直接报错,不再等待后报错 hstore表并发更新同一行会直接报错,不再等待。 之前的行为是:(1)并发update同一行等待后报错;(2)并发delete同一行等待后成功;(3)并发delete和update同一行等待后报错。修改为统一的行为。 19 Catchup不再拿一级锁 Catchup不再拿一级锁。 20 连续的failover逻辑中,只有首次会进行从DN到备DN的数据同步 连续的failover逻辑中,只有首次会进行从DN到备DN的数据同步。 21 不同session同名临时表执行相同SQL语句时unique sql id一致 8.2.1以前版本不同session同名临时表schema name不同,直接使用后生成的unique sql id就也不同。8.2.1版本修改后不同session同名临时表根据schema name替换固定字符串,保证执行相同SQL语句时unique sql id一致。 22 细粒度容灾支持主集群degraded状态下备份 细粒度容灾在支持主集群degraded状态下备份,例外场景主集群主节点无正常CN导致的degraded不支持。 23 视图解耦 当访问到无效视图时,不触发自动重建动作,即不更新系统表,而是在本地展开
-
系统视图 表6 系统视图 变更类型 序号 名称 变更描述 新增 1 SHOW_TSC_INFO 用于查看当前节点TSC换算信息。 2 SHOW_ALL_TSC_INFO 用于查看所有节点TSC换算信息。 3 GET_TSC_INFO 用于重新获取一次当前节点的TSC换算信息,仅用于判断是否稳定,不更新内存信息。 4 GET_ALL_TSC_INFO 用于重新获取一次所有节点的TSC换算信息,仅用于判断是否稳定,不更新内存信息。 5 PGXC_WLM_TABLE_DISTRIBUTION_SKEWNESS 用于展示实体表在DN所占磁盘空间倾斜率。 6 PGXC_STAT_OBJECT 查询全集群所有节点的pg_stat_object信息。 7 PG_GLOBAL_TEMP_ATTACHED_PIDS 查看全局临时表在当前节点占有资源的会话信息。 8 PGXC_GLOBAL_TEMP_ATTACHED_PIDS 查看全局临时表在所有节点占有资源的会话信息。 9 PG_STATS_EXT_EXPRS 用于查询保存在系统表pg_statistic_data中的表达式统计信息数据。 10 PV_RUNTIME_EXPRSTATS 基于pg_stat_get_runtime_exprstats函数建立,用于查询动态采样生成的表达式统计信息。 11 PG_PLAN_BASELINE 新增系统视图,保存sql和plan之间的绑定关系。 12 PG_STAT_OBJECT_EXT 新增系统视图,通过在pgxc_parallel_query内层为视图添加查询条件,从而加速返回pgxc_stat_object相应查询条件返回的结果。 修改 13 GS_WLM_SESSION_STATISTICS 新增列stmt_type标识语句类型。 14 PGXC_WLM_SESSION_STATISTICS 新增列stmt_type标识语句类型。 15 GS_WLM_SESSION_HISTORY 新增列stmt_type标识语句类型。 16 GS_WLM_SESSION_INFO 新增列stmt_type标识语句类型。 17 PGXC_WLM_SESSION_HISTORY 新增列stmt_type标识语句类型。 18 PGXC_WLM_SESSION_INFO 新增列stmt_type标识语句类型。 19 GS_RESPOOL_RESOURCE_INFO 新增网络收发速率监控(send_speed/recv_speed)。 20 PGXC_RESPOOL_RESOURCE_INFO 新增网络收发速率监控(send_speed/recv_speed)。 21 PG_TOTAL_USER_RESOURCE_INFO 新增网络收发速率监控(send_speed/recv_speed)。 22 PGXC_TOTAL_USER_RESOURCE_INFO 新增网络收发速率监控(send_speed/recv_speed)。 23 PGXC_RESPOOL_RESOURCE_HISTORY 新增网络收发速率监控(send_speed/recv_speed)。 24 PGXC_WLM_USER_RESOURCE_HISTORY 新增网络收发速率监控(send_speed/recv_speed)。 25 GS_WLM_SESSION_STATISTICS/PGXC_WLM_SESSION_STATISTICS 新增except_info显示语句触发的异常规则信息。 26 GS_WLM_SESSION_INFO/PGXC_WLM_SESSION_INFO 新增except_info显示语句触发的异常规则信息。 27 GS_WLM_SESSION_HISTORY/PGXC_WLM_SESSION_HISTORY 新增except_info显示语句触发的异常规则信息。 28 REDACTION_COLUMNS redaction_columns修改视图定义,新增字段policy_name。 29 PG_STATS PG_STATS视图中增加partname来表示分区。 30 PV_RUNTIME_A
TTS TATS pg_catalog.pv_runtime_attstats视图中增加partname来表示分区。 31 GS_WLM_OPERATOR_STATISTICS 新增字段:父节点id、执行次数、进度、网络、磁盘读写。 32 PGXC_WLM_OPERATOR_STATISTICS 新增字段:父节点id、执行次数、进度、网络、磁盘读写。 33 PGXC_STAT_OBJECT 跟随pg_stat_object一起更改,预留字段extra1改名为last_autovacuum_csn。
-
系统表 表4 系统表 变更类型 序号 名称 变更描述 新增 1 PG_STAT_OBJECT autovacuum线程记录统计信息和autovacuum效果信息到系统表pg_stat_object中。 2 PG_PLAN_BASELINE 保存sql和plan之间的绑定关系。 3 PG_PROC_REDACT 新增系统表,记录手动不脱敏函数。 修改 4 GS_WLM_SESSION_INFO 新增字段stmt_type标识语句查询类型。 5 GS_RESPOOL_RESOURCE_HISTORY 新增网络收发速率监控(send_speed/recv_speed)。 6 GS_WLM_USER_RESOURCE_HISTORY 新增网络收发速率监控(send_speed/recv_speed)。 7 PG_REDACTION_POLICY 新增policy_order字段,记录同一个表对象关联的脱敏策略的优先级次序,序号越大表示越后创建,优先级更高。 8 PG_REDACTION_COLUMN 新增policy_oid字段,记录当前脱敏列信息对应的是哪个脱敏策略。8.2.1版本后,脱敏策略的脱敏列是一对多的关系,脱敏策略的表对象是多对一关系。 9 PG_STAT_OBJECT 将预留字段extra1改名为last_autovacuum_csn。 10 GS_WLM_SESSION_INFO 增加unique_plan_id、sql_hash、plan_hash、use_plan_baseline字段。
-
系统函数 表5 系统函数 变更类型 序号 名称 变更描述 新增 1 SHOW_TSC_INFO() 用于查看当前节点TSC换算信息。 2 GET_TSC_INFO() 用于重新获取一次当前节点的TSC换算信息,仅用于判断是否稳定,不更新内存信息。 3 TEST_TSC_INFO(time double, loops int) 用于测试TSC换算时间的准确性,其中时间不得大于60s,循环次数范围值[1,10]。 4 GET_FIRST_VALUE 返回当前列第一行值。 5 READ_GLOBAL_VAR 用于读取例如my.var的全局session级变量。 6 GS_QUERY_PENALTY(query_id) 新增手动降级函数,入参为query_id。 7 CURRENT_TEMP_SCHEMA 显示当前会话的临时schema。 8 GS_WAIT_CURRENT_ACTIVE_DDL_COMPLETE 等待所有线程的guc参数生效。 9 PGXC_WAIT_CURRENT_ACTIVE_DDL_COMPLETE 等待所有线程的guc参数生效。 10 GS_SWITCH_PART_RELFILENODE 用于交换两个指定分区的filenode。 11 REFRESH_HOT_STORAGE(text) 用于将指定冷热表的所有分区数据全部刷到OBS上。返回的数值为执行完该函数后,当前多温表中在DN上冷分区的个数。 12 REFRESH_HOT_STORAGE(text,text) 用于将指定冷热表的分区数据刷到OBS上。返回的数值为执行完该函数后,当前该分区在DN上冷分区的个数。 13 PG_QUERY_AUDIT_DETAILS 通过调用pgxc_query_audit或pg_query_audit来解析object_details、object_name字段。 14 PGXC_HSTORE_DELTA_INFO 提供系统函数pgxc_hstore_delta_info('relname'), 从CN上查询HStore表的Delta表上各种类型记录的数量、表的大小等信息,用于辅助定位问题。 15 COPY_PARTITION_STATS 将一个表的分区统计信息复制给另外一个不存在统计信息的分区。 16 UPDATE_PARTITION_RELSTATS 更新分区表的统计信息relpages和reltuples。 17 PG_GET_STAT_EXPRESSIONS 用于获取创建的表达式统计信息中表达式的文本表示形式。 18 GS_HSTORE_COMPACTION 手动触发hstore表的compaction,不受autovacuum_compaction_rows_limit控制,第一个参数传入表名,第二个参数设置小CU行数的阈值,第二个参数不设置则默认100。 19 PG_SCAN_RESIDUALFILES 新增残留文件扫描系统函数。 20 PG_GET_SCAN_RESIDUALFILES 新增获取已扫描的残留文件列表系统函数。 21 PGXC_LOCK_WAIT_STATUS() 集群锁等待关系查询。 22 PG_CANCEL_BACKEND(pid, msg) 中断pid会话时支持传入指定消息作为报错信息提示。 23 PG_GET_STATISTICSOBJDEF 新增pg_get_statisticsobjdef函数来获取表达式统计信息的创建语句。 24 PG_STAT_GET_ALL 输入namespace.relname,返回当前CN哈希表中pg_stat_object中该表对应的tuple。 25 PGXC_STAT_GET_ALL 输入namespace和relname,返回所有CN上哈希表中pg_stat_object中该表对应的tuple。 26 PGXC_STAT_OBJECT_BYNAME 新增系统函数,通过输入namespace.relname,加速返回pgxc_stat_object相应relname限定的记录。 27 PG_DUMP_PLANMGMT_INFO 实时刷入待保存计划,便于下一步处理bind、unbind、drop等操作。 28 PG_FOREIGN_INSERT_COMMIT 用于对external schema表对象执行insert时CN给DN下发rename计划。 29 PG_SYSTEM_WITH_TOAST_CREATE 为pg_external_namespace系统表创建toast表。 30 PG_GET_EXTERNAL_SCHEMA_TABLE_OPTIONS 获取external schema表对象的option。 31 PG_GET_EXTERNAL_SCHEMA_TABLE_COL 获取external schema表对象的列元数据。 修改 32 GS_WLM_REBUILD_SCHEMA_HASH(oid) 修改入参从int改为OID。 33 GS_WLM_ALL_USER_RESOURCE_INFO 新增网络收发速率监控(send_speed/recv_speed)。 34 GS_GET_RESPOOL_RESOURCE_INFO 新增网络收发速率监控(send_speed/recv_speed)。 35 GS_WLM_USER_RESOURCE_INFO 新增网络收发速率监控(send_speed/recv_speed),新增入参username。 36 PG_STAT_GET_WLM_REALTIME_SESSION_INFO 新增except_info显示语句触发的异常规则信息。 37 GS_TABLE_DISTRIBUTION 增加字段relpersistence: t:本地临时表 g:全局临时表 u:unlogged表 p:普通表 增加字段sessionid全局临时表的会话线程id。 38 PG_FAST_TABLE_SIZE 增加字段relpersistence: t:本地临时表 g:全局临时表 u:unlogged表 p:普通表 增加字段sessionid全局临时表的会话线程id。 39 PG_LIFECYCLE_TABLE_DATA_DISTRIBUTE 修改函数使得非管理员用户可以使用。 40 PG_QUERY_AUDIT 审计日志中新增object_details、result_rows、error_code列,修改pg_query_audit输出参数,新增输出三列。 41 PGXC_QUERY_AUDIT 审计日志中新增object_details、result_rows、error_code列,修改pgxc_query_audit输出参数,新增输出三列。 42 GET_COL_CU_INFO 新增参数dirty_percent,取值范围1-100,默认值70。 新增返回列dirty_cu_count,返回删除率大于dirty_percent的CU数量。 43 PG_STAT_GET_WLM_REALTIME_OPERATOR_INFO 新增字段:父节点id、执行次数、进度、网络、磁盘读写。 44 PG_STAT_GET_WLM_REALTIME_OPERATOR_INFO 新增入参queryid,查询指定queryid的语句信息。 45 TRUNC(timestamp with time zone)函数修改稳定性类型 该函数之前定义的为immutable,但是根据实际函数的应用场景应该是stable的,修改前在某些条件下会性能差。 46 PG_STAT_GET_WLM_REALTIME_SESSION_INFO 新增列stmt_type字段标识语句类型。 47 PG_STAT_GET_WLM_REALTIME_SESSION_INFO 新增unique_sql_id字段。
-
版本收编策略 表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 EOM 2020年3月16日 2022年12月31日 2024年12月31日
-
9.1.0.212补丁(2025年1月) 该版本为补丁版本,主要修复已知问题。 【实时数仓】 修复date类型查询下推在MySQL兼容模式下的结果集问题。 修复limit为null或者all时,结果集错误问题。 修复统计信息错误重置,导致auto vacuum无法触发,影响空间无法及时回收的问题。 修复物化视图刷新和DDL并发的死锁问题。 修复冷热表扩容重分布异常后,手工删除临时表导致误清理原表数据的问题。 修复冷热表扩容的本地磁盘空间上涨问题。 【湖仓一体】 外表访问OBS,支持路径中带有特殊字符';' 优化parquet外表查询的任务分配,提升磁盘缓存命中率。 【备份恢复】 修复备份恢复可能残留中间状态文件,占用磁盘空间的问题。 修复弹性VW存在的情况下,备份失败问题。 备份恢复支持冷热表,备份恢复时间会变长。 【生态兼容】 修复PostGIS插件可能存在的创建失败问题。 【运维提升】 修复SQL监控指标采集不完整问题。 修复从备内存泄露问题。 修复智能运维未按时启动的问题。 修复drop database失败残留,导致调度器无法正常调度的问题。 修复高并发下,通信内存占用过高的问题。 修复异常情况下,GTM上残留sequence导致的性能问题。 【行为变更】 为避免复杂SQL执行可能报错,升级/新装会关闭谓词列analyze特性。 表定义包含sequence列的场景下,执行drop table操作时,如果与GTM的网络连接有问题,上一个版本会报warning,drop table可执行成功,但可能会导致GTM上sequence残留。新版本drop table会报错,需再次重试。由于DWS支持在事务块中支持drop table,如果drop table语句执行成功,但事务后续回滚,会存在sequence在GTM已经删除,表在CN上仍然存在的问题,需再次主动drop table,否则该表在后续使用时,会报sequence不存在的错误。 truncate和select如果有加锁冲突时,支持truncate主动终止select操作,该特性默认关闭。在打开的情况下,上一个版本被终止的执行select的session会话会报错,但是连接不会关闭,新版本下,执行select的session会话会主动关闭,需业务主动重连。
-
9.1.0.102补丁(2024年9月25日) 该版本为补丁版本,主要修复已知问题。 【升级收编】 支持9.0.3版本升级到9.1.0系列。 【修复已知问题】 存算分离版本支持alter database xxx rename to yyy。 修复存算分离表 \d+ 空间size显示错误问题。 修复备份恢复之后,异步排序未运行的问题。 修复bitmap index列删除后,无法使用Create Table Like语法的问题。 修复Turbo引擎在Group By场景下,hash算法冲突导致的性能回退问题。 调度器对于失败任务的处理行为和8.3.0版本保持一致。 修复故障场景下,pg_stat_object空间膨胀问题。 修复8.3.0升级到9.1.0,
DataArts Studio 下发的Vacuum Full作业报错问题。 修复JSON字段计算CPU和内存消耗高问题。 【功能增强】 ORC外表支持zstd压缩格式。 GIS新增支持st_asmvtgeom/st_asmvt/st_squaregrid函数。
-
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参数从动态生效调整为重启生效。 不再支持逻辑复制功能,相关接口调用会报错。