8.2.1版本新增功能
8.2.1.x版本(仅限白名单用户发布)新增功能参见8.2.1版本新增功能,各补丁解决问题列表参见8.2.1.x补丁新增功能及解决问题。
【V8.2.1.230版本发布时间】2024年10月
【V8.2.1.225版本发布时间】2024年7月
【V8.2.1.223版本发布时间】2024年6月
【V8.2.1.220版本发布时间】2024年4月
【V8.2.1.119版本发布时间】2024年2月
【V8.2.1.100版本发布时间】2023年5月
新增功能
特性 |
描述 |
参考文档 |
---|---|---|
资源管理功能易用性提升:新增全局内存管控调节机制、TopSQL新增语句类型及新增视图查询不同DN所占磁盘空间大小的倾斜率。 |
|
|
基于资源池支持网络IO管控 |
|
|
异常规则(单SQL限资源) |
|
|
topsql子语句默认打开&level设置为perf,实现对存储过程子语句的监控及存储过程内部语句的调优、问题定位。 |
新增GUC参数resource_track_subsql_duration设置过滤存储过程中子语句的最小执行时间。 |
|
通信能力增强,新增GUC参数conn_recycle_timeout实现空闲连接进行自动回收。 |
新增GUC参数conn_recycle_timeout,用于控制将CN和DN间空闲连接回收到连接池的时间间隔。 |
开发指南>GUC参数>连接和认证>通信库参数 |
支持管理员用户使用SQL函数查询进程的堆栈信息从而进行业务问题的定界和分析。 |
新增gs_stack()函数获取cn或dn进程的堆栈信息。 |
SQL语法>函数和操作符>统计信息函数 |
复杂场景路径剪枝优化 |
|
|
perf级别的topSQL优化 |
|
|
多count(distinct)支持share scan |
|
开发指南>GUC参数>查询规划>其他优化器选项 |
指定分区的插入删除和更新 |
|
|
GROUP BY后不需体现所有非聚合函数查询字段 |
GUC参数behavior_compat_options新增disable_full_group_by_mysql选项,控制查询中GROUP BY后是否可以不体现所有非聚合函数查询字段。 |
开发指南>GUC参数>版本和平台兼容性>平台和客户端兼容性 |
完善DISCARD功能 |
语法格式新增关键字{ ALL | TEMP | TEMPORARY | PLANS | SEQUENCES },释放所有与当前会话相关的临时资源、当前会话中所有临时表的相关资源、缓存的查询计划、缓存的所有序列相关的状态。 |
SQL语法>DDL语法>DISCARD |
新增接口函数read_global_var |
新增接口函数read_global_var,用于读取全局变量当前的设置值。 |
SQL语法>函数和操作符>系统管理函数>配置设置函数 |
skew倾斜值比对优化 |
支持explain打开Detail开关时,执行计划中会显示倾斜值比对耗时 |
SQl>DML语法>EXPLAIN |
postgis升级 |
|
|
pgxc_wlm_session_statistics和explain SQL支持unique_sql_id |
视图GS_WLM_SESSION_HISTORY新增字段unique_sql_id,表示归一化的Unique SQL ID。 |
开发指南>系统视图>GS_WLM_SESSION_HISTORY |
将IN/ANY/ALL条件生成的Array类型拆分为普通表达式执行 |
新增GUC参数enable_array_optimization,控制是否将IN/ANY/ALL条件生成的Array类型拆分为普通表达式执行。 |
开发指南>GUC参数>查询规划>其他优化器选项 |
多count(distinct)重写优化,支持包含volatile函数的重写 |
GUC参数volatile_shipping_version参数新增取值,默认值从2改为3 |
开发指南>GUC参数>查询规划>其他优化器选项 |
去除倾斜优化值最多10个的限制 |
新增GUC参数max_skew_num,控制优化器允许进行重分布优化的倾斜值个数。 |
开发指南>GUC参数>查询规划>其他优化器选项 |
优化协同分析外表部分条件下推 |
GUC参数behavior_compat_options新增选项disable_gc_fdw_filter_partial_pushdown,协同分析外表(类型为gc_fdw)场景下,控制使用过滤条件查询外表数据时过滤条件的下推情况。 |
开发指南>GUC参数>版本和平台兼容性>平台和客户端兼容性 |
协同分析算子增加数据集校验 |
新增GUC参数gc_fdw_verify_option,在协同分析特性中,控制是否启用结果集行数校验逻辑。 |
开发指南>GUC参数>开发人员选项 |
truncate、exchange与select并发 |
GUC参数ddl_select_concurrent_mode选项更新,修改默认值为none,新增选项exchange,参数类型由单枚举类型修改为多枚举类型,可同时设置多个值,不同值之间可以用逗号隔开。 |
开发指南>GUC参数>锁管理 |
GTM线程池优化提高GTM处理高并发的能力 |
新增GUC参数gtm_option、defer_xid_cleanup_time、 、gtm_enable_threadpool和gtm_num_threads |
开发指南>GUC参数>集群事务 开发指南>GUC参数>GTM相关参数 |
DWS导出空表到xsky S3,支持生成空文件 |
新增参数obs_null_file,用于dws和obs之间空文件导入导出的处理。 |
SQL语法>DDL>CREATE FOREIGN TABLE (OBS导入导出) |
autovacuum易用性提升 |
|
|
列存表索引扫描代价优化 (8.2.1.100) |
新增GUC参数index_selectivity_cost控制列存表索引扫描时cbtree的cost计算。 |
开发指南>GUC参数>查询规划>优化器方法配置 |
列存delta表autovacuum锁升级,解决adms入库报错问题。 |
新增GUC参数enable_mergelock_upgrade,控制列存delta表在merge时从4级锁升级到7级锁,避免和业务并发产生报错。 |
开发指南>GUC参数>锁管理 |
列存表不指定索引类型默认创建btree索引 |
新增GUC参数default_table_behavior,支持默认表的行为类型。 |
开发指南>GUC参数>开发人员选项 |
资源监控DFX视图(8.2.1.100) |
新增视图:
|
开发指南>系统表和系统视图>系统视图 |
TopSQL监控新增PBE批量使用情况下新增bind监控(8.2.1.100) |
|
|
comm_max_stream支持动态设置 (8.2.1.100) |
GUC参数comm_max_stream参数类型由POSTMASTER修改为SIGHUP;取值范围由1-60000修改为1~65535;默认值修改为1024 |
开发指南>GUC参数> 连接和认证> 通信库参数 |
审计日志增强(8.2.1.100),增加object对象名、字段名、操作类型、返回记录数、错误代码记录列。 |
|
|
数据脱敏单表支持多策略(8.2.1.100) |
|
|
SQL ON HUDI(8.2.1.100) |
新增SQL on hudi场景化操作流程以及Hudi相关的系统函数。当前使用CDL将Hudi数据同步到DWS内表。DWS支持Hudi方式存储的数据后,通过自定义同步任务,将数据主动同步到DWS内表中。 |
|
列存autovacuum优化1GB限制,让锁导致残留问题。(8.2.1.100) |
新增GUC参数col_min_file_size,解决列存表入库操作产生大量脏数据,空间回收的约束为文件必须超过1GB,没有超过1GB无法触发空间回收的问题。 |
开发指南>GUC参数>自动清理 |
GB18030编码升级(8.2.1.100) |
参数encoding的说明中新增常用编码格式说明。Dataencoding中新增编码格式GB18030_2022,用于解决GB18030(低版本)出库时报错的问题。 |
|
FFIC功能(8.2.1.100) |
新增GUC参数enable_ffic_log,控制是否开启FFIC(First Failure Info Capture)功能。 |
开发指南>GUC参数>资源管理 |
Hstore表查询delta表情况视图(8.2.1.100) |
新增函数pgxc_get_hstore_delta_info(rel_name text),提供快速查询delta表上的信息(各种类型记录的数量,delta表的大小等),来辅助定位问题。 |
开发指南>实时数仓>实时数仓函数 |
copy容错表修改(8.2.1.100) |
DWS的copy容错表满足以下诉求:
|
|
冷热表增强(8.2.1.100) |
新增冷热表用户函数refresh_hot_storage(text)和 refresh_hot_storage(text,text),用于将指定多温表的分区数据刷新到OBS上。 |
SQL语法参考>函数和操作符>数据库对象函数>冷热表用户函数 |
使用索引扫描(8.2.1.100) |
新增GUC参数index_cost_limit,目的在于修复列存indexcost的向前兼容性,避免默认计划跳变。 |
开发指南>GUC参数>优化器方法配置 |
sql on hudi新增进程、topsql新增tsc线程(8.2.1.100) |
新增GUC参数enable_dws_bigdata和dws_bigdata_directory,用来判断是否启动dws-bigdata进程,定期监视dws-bigdata进程保活机制。 |
开发指南>GUC参数>CM相关参数 |
sequence支持修改cache size(8.2.1.100) |
ALTER SEQUENCE语法格式新增CACHE关键字,用来指定要预先分配多少序列号并存储在内存中以便更快地访问序列。 |
SQL语法参考>DDL语法>ALTER SEQUENCE |
Merge分区个数放开限制(8.2.1.100) |
merge_clause子句放开源分区最大个数限制。 |
SQL语法参考>DDL语法>ALTER TABLE PARTITION |
支持Drive hint (8.2.1.210) |
|
|
GDS容错性兼容(8.2.1.230) |
新增GUC参数gds_fill_multi_missing_fields 控制GDS外表容错性参数fill_missing_fields设置为true/on时的行为。 设置此选项时,GDS外表允许数据源文件一行最后多个字段缺失;不设置此选项时,GDS外表允许数据源文件一行最后一个字段缺失。兼容历史行为。 |
开发指南>GUC参数>版本和平台兼容性>平台和客户端兼容性 |
支持数据库根据节点情况优先选取tsc进行算子自行时间收集。(8.2.1.230) |
time_track_strategy参数新增取值opt,数据库根据节点情况优先选取tsc进行算子自行时间收集。 |
开发指南>GUC参数>资源管理 |
细粒度表级恢复支持恢复至异构集群 (8.2.1.230) |
备份介质选OBS/XBSA时可以将单表/多表恢复到异构集群。新增参数db-options,用来重建目标database实现集群级备份集做表级恢复至新集群。 |
工具指南>服务端工具 > GaussRoach.py > Roach支持的功能 工具指南>服务端工具 > GaussRoach.py > 命令行参考 > 恢复命令 |
物理细粒度支持跨版本恢复 (8.2.1.230) |
|
工具指南>服务端工具 > GaussRoach.py > Roach支持的功能 工具指南>服务端工具 > GaussRoach.py > 约束条件 |
物理细粒度备份支持恢复权限与注释 (8.2.1.230) |
|
工具指南>服务端工具 > GaussRoach.py > 约束条件 工具指南>服务端工具 > GaussRoach.py > 命令行参考 > 备份命令/恢复命令 |
SQL语法
变更类型 |
序号 |
名称 |
变更描述 |
---|---|---|---|
新增 |
1 |
obs_null_file |
新增表级参数obs_null_file进行管控,当为on时,dws导入文件时,如果文件不存在或者路径错误,会报错。 |
2 |
replace_illegal_chars |
新增gds外表option:replace_illegal_chars,用于替换0x00入库。 |
|
3 |
DISCARD GLOBAL TEMP [TABLE] |
不指定表名,清理当前会话的所有全局临时表。指定表名时,清理当前会话的指定全局临时表。 |
|
4 |
ALTER SEQUENCE [ IF EXISTS ] name CACHE cache |
支持修改sequence的cache值。 |
|
5 |
CREATE STATISTICS |
为表创建一个扩展统计信息对象。 |
|
6 |
DROP STATISTICS |
删除一个扩展统计信息。 |
|
7 |
ALTER STATISTICS |
新增扩展统计信息的ALTER语法。 |
|
8 |
ALTER FUNCTION增加MASKED关键字 |
新增语法,用于设置函数是否支持不脱敏。 |
|
9 |
last_value ignore nulls语法 |
支持last_value ignore nulls语法在计算时忽略NULL值。 |
|
10 |
ALTER MATERIALIZED VIEW qualified_name OWNER TO RoleId |
修改物化视图的所有者。 |
|
11 |
CREATE MATERIALIZED VIEW |
创建物化视图。 |
|
12 |
ALTER MATERIALIZED VIEW |
修改物化视图属性。 |
|
13 |
DROP MATERIALIZED VIEW |
删除物化视图。 |
|
14 |
REFRESH MATERIALIZED VIEW |
刷新物化视图。 |
|
修改 |
15 |
创建外表禁止使用UNIQUE NULLS NOT DISTINCE、UNIQUE NULLS IGNORE |
外表创建的unique约束为infomational constraint,该约束并不会创建索引,因此禁掉创建外表时使用UNIQUE NULLS NOT DISTINCE、UNIQUE NULLS IGNORE。 |
16 |
试图更新参数打开时,视图上存在触发器且禁止merge into |
视图上存在触发器且执行merge into时,视图不会重写,该场景禁止使用。 |
|
17 |
discard all、discard temp、discard sequences、discard plans |
用于释放与当前会话相关的临时资源并重置到其初始状态。 |
|
18 |
CREATE/ALTER RESOURCE POOL |
新增weight选项,设置网络权重。 |
|
19 |
CREATE/ALTER EXCEPT RULE |
新增bandwidth异常识别和penalty异常处理行为。 |
|
20 |
LOCK [ TABLE ] {[ ONLY ] name [, ...]| {name [ * ]} [, ...]} [ IN <lockmode> MODE ] [ NOWAIT ] [LOCAL COORDINATOR ONLY]; |
8.2.0版本引入只对本地CN加锁的语法,仅支持ACCESS SHARE锁模式,此次修改后对所有的8级锁模式都支持。 |
|
21 |
CREATE REDACTION POLICY新增可选项[BEFORE | AFTER] old_policy_name |
原CREATE REDACTION POLICY语法新增可选项[BEFORE|AFTER] old_policy_name,默认不指定,表示新策略创建在当前表对象的policy_order最大的策略之后。 |
|
22 |
timestampdiff() |
解决了部分时间差为负值时的结果错误问题。 |
|
23 |
full join场景下对于volatile函数重写检查范围缩小 |
在多表full join场景下,由原来对于整个query树做检查改为仅对于存在于on条件后的volatile进行检查,放开部分含volatile函数的重写限制。 |
|
24 |
merge into |
支持指定分区。 |
关键字
变更类型 |
序号 |
名称 |
变更描述 |
---|---|---|---|
新增 |
1 |
FACT |
HINT语法中增加FACT关键字,导致HINT中的别名不能使用FACT。 |
2 |
LIGHT |
新增LIGHT非保留关键字,用于Analyze (light) table语句,表示手动触发动态采样。 |
系统表
变更类型 |
序号 |
名称 |
变更描述 |
---|---|---|---|
新增 |
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字段。 |
系统函数
变更类型 |
序号 |
名称 |
变更描述 |
---|---|---|---|
新增 |
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 |
用于对extrenal 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 |
|
|
38 |
PG_FAST_TABLE_SIZE |
|
|
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 |
|
|
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字段。 |
系统视图
变更类型 |
序号 |
名称 |
变更描述 |
---|---|---|---|
新增 |
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_ATTSTATS |
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。 |
行为变更
变更类型 |
序号 |
名称 |
变更描述 |
---|---|---|---|
新增 |
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_STATISTICS视图 |
GS/PGXC_WLM_SESSION_STATISTICS视图新增unique sql id字段。 |
|
15 |
GROUP BY后不需体现所有非聚合函数查询字段 |
|
|
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 |
视图解耦 |
当访问到无效视图时,不触发自动重建动作,即不更新系统表,而是在本地展开 |
GUC参数
变更类型 |
序号 |
名称 |
变更描述 |
---|---|---|---|
新增 |
1 |
time_track_strategy |
用于控制非向量化算子的时间统计方法,包括(tsc/vector/timer/frequency(debug模式))。 |
2 |
max_skew_num |
控制优化器允许进行重分布优化的倾斜值个数。 |
|
3 |
disable_full_group_by_mysql |
MySQL兼容模式下使用,设置后,允许GROUP BY后出现非聚合函数查询字段。 |
|
4 |
enable_col_index_vacuum |
新增guc参数enable_col_index_vacuum,用于控制是否允许autovacuum对列存索引进行清理,默认false。 |
|
5 |
enable_pg_stat_object |
开启后,记录pg_stat_object系统表,关闭时不记录。 |
|
6 |
conn_recycle_timeout |
增加GUC参数conn_recycle_timeout用于控制连接回收间隔。 |
|
7 |
index_selectivity_cost |
控制列存表索引扫描时cbtree的cost计算(选择率>0.001)。 |
|
8 |
default_table_behavior |
控制表的默认行为,8.2.1版本前仅支持column_btree_index(列存表默认创建索引为btree)。 |
|
9 |
resource_track_subsql_duration |
TopSQL监控,用于控制存储过程中子语句的记录,超过该GUC设置的数据的子语句才能被记录。 |
|
10 |
max_files_per_node |
控制单节点单query打开文件的最大数量。 |
|
11 |
max_copy_data_display |
为copy错误表rawrecord字段长度增加guc管控,表示能显示的最长字符数。 |
|
12 |
max_process_memory_balanced |
主备均衡模式下,实例max_process_memory能取的上限。 |
|
13 |
index_cost_limit |
控制列存表索引扫描时cbtree的cost计算(选择率>0.001),支持hint设置。 |
|
14 |
audit_object_details |
新增参数控制审计日志中是否记录object_details列。 |
|
15 |
enable_fd_check |
新增控制fd误关检查的参数,默认开启。 |
|
16 |
idle_in_transaction_timeout |
为了处理在设置session_timeout=0后,可能存在的长客户空闲连接一直不退出,持有表锁不放的问题,新增事务级别的参数idle_in_transaction_timeout,对空闲事务连接设置idle超时时间: 1,user set,单位s,默认0,不开启,取值范围0-86400(一天) 2,仅对直连cn的客户连接生效,对直连dn或内部连接不予处理 3,修改该参数为非0值后,当事务处于idle状态超过所设置时间后,FATAL报错 |
|
17 |
enable_save_dataaccess_timestamp |
新增,表级最后一次访问时间记录开关。默认关闭。 |
|
18 |
behavior_compat_options |
behavior_compat_options参数新增check_function_shippable,开启check_function_shippable,则增加对函数ship的判断:
|
|
19 |
enable_release_scan_lock |
新增USERSET参数enable_release_scan_lock,开启时在语句执行完释放一级锁 |
|
20 |
job_queue_naptime |
新增参数job_queue_naptime,设置触发任务的时间间隔及超时时间,默认1s |
|
21 |
enable_stream_sync_quit |
新增GUC参数,默认关闭,实现sync quit不阻塞 |
|
22 |
behavior_compat_options增加选项enable_full_string_agg |
behavior_compat_options新增enable_full_string_agg,打开该参数时,string_agg() over (partition by xx order by xxx)是在窗口内全量聚合,关闭该参数时,在窗口内递增聚合,该参数默认关闭。 |
|
23 |
behavior_compat_options增加选项enable_cast_hashjoin |
behavior_compat_options新增enable_cast_hashjoin参数,默认关闭,打开后,JOIN条件中timestamp和timestampz等值比较时会做类型转换以支持hashjoin |
|
修改 |
24 |
behavior_compat_options |
behavior_compat_options新增参数DISABLE_SET_GLOBAL_VAR_ON_DATANODE控制全局变量不能在DN上设置。 |
25 |
hashjoin_spill_strategy |
新增了两种策略5和6,它们的行为与原来的0、1策略相同。原来的0、1策略的行为已经被修改。现在,当内表过大而无法放入内存时,会继续划分内表,直到无法再划分,然后才会尝试进行内外表交换。 |
|
26 |
behavior_compat_options增加选项disable_gc_fdw_filter_partial_pushdown |
behavior_compat_options参数增加了disable_gc_fdw_filter_partial_pushdown选项,这个选项可以控制协同分析外表中的过滤条件。当这个参数打开时,如果存在不能下推的条件,则所有条件都不会下推。当这个参数关闭时,会优化为部分下推。 |
|
27 |
prefer_hashjoin_path |
当prefer_hashjoin_pathda打开时,会优先尝试生成hashjoin路径,这可能会导致在相同代价下的计划发生跳变。 |
|
28 |
volatile_shipping_version |
新增取值3,控制volatile函数的下推,取值2改为replicate的CTE支持volatile函数下推,同时禁止非share scan场景下,CTE包含volatile函数的下推。 |
|
29 |
behavior_compat_options |
新增了ignore_unshipped_concurrent_update选项,这个选项可以控制在并发更新场景下是否忽略新元组检测。 |
|
30 |
max_connections |
最小值由1修改为100。 |
|
31 |
max_process_memory |
可以直接设置生效,不再依赖max_process_memory_auto_adjust是否开启。 |
|
32 |
index_selectivity_cost |
修复列存indexcost的向前兼容性,避免默认计划跳变,将参数默认值改为-1,支持hint设置。 |
|
33 |
behavior_compat_options |
增加取值enable_pushdown_groupingset_subquery。子查询中有grouping set时,默认不能把外层条件下推到子查询中,设置为enable_pushdown_groupingset_subquery时,可下推,但需用户确保下推后结果正确。 |
|
34 |
comm_max_stream |
comm_max_stream支持reload。 |
|
35 |
enable_tsdb_multi_temperature |
控制时序表是否能够创建冷热表,默认值改为off。 |
|
36 |
enable_col_index_vacuum |
修改enable_col_index_vacuum的默认值为true,默认允许autovacuum对列存索引进行清理。 |
|
37 |
enable_redistribute |
控制查询优化器对于local redistribute和split redistribute重分布模式数据传输的使用。8.2.1版本前此参数未使用。 |
|
38 |
time_track_strategy |
|
|
39 |
behavior_compat_options |
新增取值enable_banker_round控制银行家算法使用。 |
|
40 |
behavior_compat_options |
新增参数orderby_null_first控制null值在order by排序时是否为最小值,仅在TD兼容库下生效。 |
|
41 |
behavior_compat_options |
新增参数alter_distribute_key_by_partition,设置后分区表alter table distribute by按分区进行insert into,关闭情况下保持原先行为(将分区表整表进行INSERT INTO)。 |
|
42 |
behavior_compat_options |
新增参数enable_use_syscol_in_replicate_table,不设置该选项时,如果复制表在INSERT、UPDATE、MERGE INTO和DELETE时采用oid/ctid/tableoid/xc_node_id作为过滤条件、连接条件和having条件会报错。 |
|
43 |
behavior_compat_options |
新增参数enable_force_add_batch,当参数support_batch_bind设置为on且参数enable_fast_query_shipping和enable_light_proxy设置为off时,GaussDB(DWS)接收addbatch模式的U报文。但是入库速度较慢,有内存不足风险,需谨慎设置该选项。 |
|
44 |
behavior_compat_options |
behavior_compat_options参数新增disable_update_returning_check,控制复制表更新带returning行为。 |
|
45 |
cost_model_version |
新增参数值3,表示在2的基础上,优化大集群场景下的broadcast代价估算,以便优化器选择更优计划。 |
|
46 |
enable_track_record_subsql |
修改参数默认值为on。 |
|
删除 |
47 |
enable_grant_public |
表示安全模式下不支持grant to public语法,8.2.1版本后删除该参数。 |
48 |
enable_grant_option |
表示安全模式下不支持grant with grant option语法,8.2.1版本后删除该参数。 |