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 unlogg表 |
禁止分区表与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字符串操作对尾部空格处理的风格。 |
时区
变更类型 |
序号 |
名称 |
变更描述 |
---|---|---|---|
修改 |
1 |
Asia/Beijing北京时区的定义改为与Asia/Shanghai一致 |
|
2 |
Asia/Shanghai定义修改 |
|
|
3 |
Asia/Urumqi |
1980年5月后的时区偏移从东八区调整为东六区。 |
|
4 |
原民国时期按照物理时区定义的五大时区调整为两大时区 |
|
|
5 |
初始化默认时区可能会变更 |
数据库初始化时会评估一个最符合操作系时区的数据库内部支持时区作为默认时区。因数据库内部支持的时区定义变化,可能会导致初始化默认时区有变化。 |