8.1.0版本说明
【发布日期】:2021年5月15日
【集群版本号】:8.1.0.100
特性变更
特性 | 描述 |
|---|---|
Analyze强化,支持临时表,支持单事务操作 | 事务、存储过程支持analyze命令;analyze和alter table并发时不会报错;自动analyze支持临时表场景。 |
向量化引擎性能提升 |
|
分区列过滤条件非常量的分区剪枝 | 分区剪枝优化,当前分区剪枝只能针对常量进行,而对于需要计算的变量不能剪枝,需要进行优化。 |
全量备份(schema粒度)+细粒度恢复(表级、schema级) | 全量备份(schema粒度)+细粒度恢复(表级、schema级) |
GDS支持第三方自定义数据转换 | 支持第三方自定义数据转换。 |
RTO优化 | 集群内HA, RPO=0,RTO稳定<60s,POC场景支持RTO<30s。 |
SQL on HDFS | 支持OBS外表导出ORC格式数据。 |
支持解析XML函数 | 支持解析XML函数。 |
支持修改分布列 | 支持修改分布列。 |
支持CN故障job自动迁移 | 当前CN故障后,其对应的job任务可以自动迁移。 |
支持C函数平滑升级 | 支持客户的C函数平滑升级。 |
gsql支持TD DSQL兼容性 |
|
支持时区和国际组织IANA Time Zone Database同步 | 支持时区和国际组织IANA Time Zone Database同步。 |
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 unlogged表 | 禁止分区表与unlogged表做exchange交换。 |
15 | ALTER TABLE ... inherit修改继承关系功能 | 优化器未对表继承做适配,需封禁alter table inherit接口。 |
关键字
变更类型 | 序号 | 名称 | 变更描述 |
|---|---|---|---|
新增 | 1 | xmltable | COL_NAME_KEYWORD关键字,已做巡检适配。 |
2 | xmlnamespaces | COL_NAME_KEYWORD关键字,已做巡检适配。 |
系统表
变更类型 | 序号 | 名称 | 变更描述 |
|---|---|---|---|
新增 | 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 |
| |
8 | pg_catalog.gs_wlm_ec_operator_info | 修改为同名视图。 | |
9 | pg_catalog.gs_wlm_ec_operator_info |
|
系统函数
变更类型 | 序号 | 名称 | 变更描述 |
|---|---|---|---|
新增 | 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 | 第一个参数从区分大小写修改为不区分大小写。 |
系统视图
变更类型 | 序号 | 名称 | 变更描述 |
|---|---|---|---|
新增 | 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字段。 |
行为变更
变更类型 | 序号 | 名称 | 变更描述 |
|---|---|---|---|
修改 | 1 | cn retry支持存储过程影响实时打印 | 存储过程打印输出则实时打印,如遇到cn retry则输出notice提示输出消息会重复。还未输出打印时遇cn retry不输出notice。 |
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字符串操作对尾部空格处理的风格。 |

