网络
虚拟私有云 VPC
弹性公网IP EIP
弹性负载均衡 ELB
NAT网关 NAT
云专线 DC
虚拟专用网络 VPN
云连接 CC
VPC终端节点 VPCEP
企业路由器 ER
企业交换机 ESW
全球加速 GA
企业连接 EC
云原生应用网络 ANC
安全与合规
安全技术与应用
Web应用防火墙 WAF
企业主机安全 HSS
云防火墙 CFW
安全云脑 SecMaster
DDoS防护 AAD
数据加密服务 DEW
数据库安全服务 DBSS
云堡垒机 CBH
数据安全中心 DSC
云证书管理服务 CCM
威胁检测服务 MTD
态势感知 SA
认证测试中心 CTC
边缘安全 EdgeSec
应用中间件
微服务引擎 CSE
分布式消息服务Kafka版
分布式消息服务RabbitMQ版
分布式消息服务RocketMQ版
API网关 APIG
分布式缓存服务 DCS
多活高可用服务 MAS
事件网格 EG
管理与监管
统一身份认证服务 IAM
消息通知服务 SMN
云监控服务 CES
应用运维管理 AOM
应用性能管理 APM
云日志服务 LTS
云审计服务 CTS
标签管理服务 TMS
配置审计 Config
应用身份管理服务 OneAccess
资源访问管理 RAM
组织 Organizations
资源编排服务 RFS
优化顾问 OA
IAM 身份中心
云运维中心 COC
资源治理中心 RGC
解决方案
高性能计算 HPC
SAP
混合云灾备
开天工业工作台 MIW
Haydn解决方案工厂
数字化诊断治理专家服务
云生态
云商店
合作伙伴中心
华为云开发者学堂
华为云慧通差旅
开发与运维
软件开发生产线 CodeArts
需求管理 CodeArts Req
流水线 CodeArts Pipeline
代码检查 CodeArts Check
编译构建 CodeArts Build
部署 CodeArts Deploy
测试计划 CodeArts TestPlan
制品仓库 CodeArts Artifact
移动应用测试 MobileAPPTest
CodeArts IDE Online
开源镜像站 Mirrors
性能测试 CodeArts PerfTest
应用管理与运维平台 ServiceStage
云应用引擎 CAE
开源治理服务 CodeArts Governance
华为云Astro轻应用
CodeArts IDE
Astro工作流 AstroFlow
代码托管 CodeArts Repo
漏洞管理服务 CodeArts Inspector
联接 CodeArtsLink
软件建模 CodeArts Modeling
Astro企业应用 AstroPro
CodeArts 盘古助手
华为云Astro大屏应用
计算
弹性云服务器 ECS
Flexus云服务
裸金属服务器 BMS
云手机服务器 CPH
专属主机 DeH
弹性伸缩 AS
镜像服务 IMS
函数工作流 FunctionGraph
云耀云服务器(旧版)
VR云渲游平台 CVR
Huawei Cloud EulerOS
网络
虚拟私有云 VPC
弹性公网IP EIP
弹性负载均衡 ELB
NAT网关 NAT
云专线 DC
虚拟专用网络 VPN
云连接 CC
VPC终端节点 VPCEP
企业路由器 ER
企业交换机 ESW
全球加速 GA
企业连接 EC
云原生应用网络 ANC
CDN与智能边缘
内容分发网络 CDN
智能边缘云 IEC
智能边缘平台 IEF
CloudPond云服务
安全与合规
安全技术与应用
Web应用防火墙 WAF
企业主机安全 HSS
云防火墙 CFW
安全云脑 SecMaster
DDoS防护 AAD
数据加密服务 DEW
数据库安全服务 DBSS
云堡垒机 CBH
数据安全中心 DSC
云证书管理服务 CCM
威胁检测服务 MTD
态势感知 SA
认证测试中心 CTC
边缘安全 EdgeSec
大数据
MapReduce服务 MRS
数据湖探索 DLI
表格存储服务 CloudTable
可信智能计算服务 TICS
推荐系统 RES
云搜索服务 CSS
数据可视化 DLV
数据接入服务 DIS
数据仓库服务 GaussDB(DWS)
数据治理中心 DataArts Studio
湖仓构建 LakeFormation
智能数据洞察 DataArts Insight
应用中间件
微服务引擎 CSE
分布式消息服务Kafka版
分布式消息服务RabbitMQ版
分布式消息服务RocketMQ版
API网关 APIG
分布式缓存服务 DCS
多活高可用服务 MAS
事件网格 EG
开天aPaaS
应用平台 AppStage
开天企业工作台 MSSE
开天集成工作台 MSSI
API中心 API Hub
云消息服务 KooMessage
交换数据空间 EDS
云地图服务 KooMap
云手机服务 KooPhone
组织成员账号 OrgID
云空间服务 KooDrive
管理与监管
统一身份认证服务 IAM
消息通知服务 SMN
云监控服务 CES
应用运维管理 AOM
应用性能管理 APM
云日志服务 LTS
云审计服务 CTS
标签管理服务 TMS
配置审计 Config
应用身份管理服务 OneAccess
资源访问管理 RAM
组织 Organizations
资源编排服务 RFS
优化顾问 OA
IAM 身份中心
云运维中心 COC
资源治理中心 RGC
区块链
区块链服务 BCS
数字资产链 DAC
华为云区块链引擎服务 HBS
解决方案
高性能计算 HPC
SAP
混合云灾备
开天工业工作台 MIW
Haydn解决方案工厂
数字化诊断治理专家服务
价格
成本优化最佳实践
专属云商业逻辑
云生态
云商店
合作伙伴中心
华为云开发者学堂
华为云慧通差旅
其他
管理控制台
消息中心
产品价格详情
系统权限
客户关联华为云合作伙伴须知
公共问题
宽限期保留期
奖励推广计划
活动
云服务信任体系能力说明
开发与运维
软件开发生产线 CodeArts
需求管理 CodeArts Req
流水线 CodeArts Pipeline
代码检查 CodeArts Check
编译构建 CodeArts Build
部署 CodeArts Deploy
测试计划 CodeArts TestPlan
制品仓库 CodeArts Artifact
移动应用测试 MobileAPPTest
CodeArts IDE Online
开源镜像站 Mirrors
性能测试 CodeArts PerfTest
应用管理与运维平台 ServiceStage
云应用引擎 CAE
开源治理服务 CodeArts Governance
华为云Astro轻应用
CodeArts IDE
Astro工作流 AstroFlow
代码托管 CodeArts Repo
漏洞管理服务 CodeArts Inspector
联接 CodeArtsLink
软件建模 CodeArts Modeling
Astro企业应用 AstroPro
CodeArts 盘古助手
华为云Astro大屏应用
存储
对象存储服务 OBS
云硬盘 EVS
云备份 CBR
高性能弹性文件服务 SFS Turbo
弹性文件服务 SFS
存储容灾服务 SDRS
云硬盘备份 VBS
云服务器备份 CSBS
数据快递服务 DES
云存储网关 CSG
专属分布式存储服务 DSS
数据工坊 DWR
地图数据 MapDS
键值存储服务 KVS
容器
云容器引擎 CCE
云容器实例 CCI
容器镜像服务 SWR
云原生服务中心 OSC
应用服务网格 ASM
华为云UCS
数据库
云数据库 RDS
数据复制服务 DRS
文档数据库服务 DDS
分布式数据库中间件 DDM
云数据库 GaussDB
云数据库 GeminiDB
数据管理服务 DAS
数据库和应用迁移 UGO
云数据库 TaurusDB
人工智能
AI开发平台ModelArts
华为HiLens
图引擎服务 GES
图像识别 Image
文字识别 OCR
自然语言处理 NLP
内容审核 Moderation
图像搜索 ImageSearch
医疗智能体 EIHealth
企业级AI应用开发专业套件 ModelArts Pro
人脸识别服务 FRS
对话机器人服务 CBS
语音交互服务 SIS
人证核身服务 IVS
视频智能分析服务 VIAS
城市智能体
自动驾驶云服务 Octopus
盘古大模型 PanguLargeModels
IoT物联网
设备接入 IoTDA
全球SIM联接 GSL
IoT数据分析 IoTA
路网数字化服务 DRIS
IoT边缘 IoTEdge
设备发放 IoTDP
企业应用
域名注册服务 Domains
云解析服务 DNS
企业门户 EWP
ICP备案
商标注册
华为云WeLink
华为云会议 Meeting
隐私保护通话 PrivateNumber
语音通话 VoiceCall
消息&短信 MSGSMS
云管理网络
SD-WAN 云服务
边缘数据中心管理 EDCM
云桌面 Workspace
应用与数据集成平台 ROMA Connect
ROMA资产中心 ROMA Exchange
API全生命周期管理 ROMA API
政企自服务管理 ESM
视频
实时音视频 SparkRTC
视频直播 Live
视频点播 VOD
媒体处理 MPC
视频接入服务 VIS
数字内容生产线 MetaStudio
迁移
主机迁移服务 SMS
对象存储迁移服务 OMS
云数据迁移 CDM
迁移中心 MGC
专属云
专属计算集群 DCC
开发者工具
SDK开发指南
API签名指南
DevStar
华为云命令行工具服务 KooCLI
Huawei Cloud Toolkit
CodeArts API
云化转型
云架构中心
云采用框架
用户服务
账号中心
费用中心
成本中心
资源中心
企业管理
工单管理
客户运营能力
国际站常见问题
支持计划
专业服务
合作伙伴支持计划
我的凭证
华为云公共事业服务云平台
工业软件
工业数字模型驱动引擎
硬件开发工具链平台云服务
工业数据转换引擎云服务
更新时间:2024-11-13 GMT+08:00
分享

8.1.3版本新增功能

8.1.3.x版本新增功能参见新增功能,各补丁解决问题列表参见8.1.3.x补丁新增功能及解决问题

【V8.1.3.336版本发布时间】:2024年10月15日

【V8.1.3.333版本发布时间】:2024年06月30日

【V8.1.3.330版本发布时间】:2024年03月16日

【V8.1.3.325版本发布时间】:2023年11月02日

【V8.1.3.323版本发布时间】:2023年10月16日

【V8.1.3.322版本发布时间】:2023年08月04日

【V8.1.3.321版本发布时间】:2023年06月26日

【V8.1.3.320版本发布时间】:2023年05月19日

【V8.1.3.310版本发布时间】:2023年03月09日

【V8.1.3.300版本发布时间】:2022年12月19日

【V8.1.3.200版本发布时间】:2022年10月31日

【V8.1.3.110版本发布时间】:2022年08月23日

【V8.1.3.100版本发布时间】:2022年06月20日

【V8.1.3版本发布时间】:2022年04月15日

新增功能

表1 8.1.3新增功能

特性

描述

参考文档

支持自增分区和分区表管理功能

分区管理新增PERIOD(interval类型)和TTL(interval类型)

CREATE TABLE

ALTER TABLE

CREATE TABLE PARTITION

外表支持json格式

  1. HDFS外表READ ONLY外表支持JSON文件格式。
  2. OBS外表READ ONLY外表支持JSON文件格式。

CREATE FOREIGN TABLE (SQL on Hadoop or OBS)

跨集群互联互通特性

  1. 解除约束:
    1. 解除GDS的hang约束;
    2. 解除常用聚合函数约束:sum/count/min/max/avg等;
    3. 解除标量函数、分析函数约束;
    4. 增加互联互通外表与源表的列名、列类型强校验;
    5. 解除列名不可包含“WHERE”约束;
    6. 解除limit约束;
    7. 完善临时GDS外表策略。
  2. 本地集群是目标集群时,发起数据同步业务。

基于GDS的跨集群互联互通

冷热表功能增强

冷热自动搬迁。

CREATE TABLE

行存ring buffer可通过开关控制

ring buffer提供开关控制和阈值调整,大表批量更新不使用ring buffer

buffer_ring_ratio

GDS支持欧元符

GBK字符集支持欧元符。

CREATE DATABASE

OBS外表支持XSKY S3

OBS外表适配XSKY,新增eol参数。

CREATE FOREIGN TABLE (SQL on Hadoop or OBS)

SQL支持了位图功能(RoaringBitmap)

支持位图功能(RoaringBitmap),更好支撑互联网业务常见的客户画像业务。

位图函数和操作符

RoaringBitmap类型

TD兼容支持不区分大小写

TD数据源迁移至DWS的大量存储过程涉及到去重操作,源数据中存在大量内容相同但是大小写不同的数据,DWS中使用distinct去重后会有大量重复数据,使用upper函数会改变源数据,存储过程数量多,逻辑复杂,手动修改难度大,需要增加DWS不区分大小写的特性。

排序规则支持

排序规则版本函数

List分区

分区表支持List分区。

MySQL兼容性增强

ALTER TABLE支持同时修改多个列。

ALTER TABLE支持COMMENT。

ALTER TABLE支持CHANGE、DROP KEY、DROP PARTITION和FIRST/AFTER。

ALTER INDEXCREATE INDEX

ALTER TABLECREATE TABLE

ALTER TABLE PARTITION

projection pushdown

对于多列视图场景,引用时自动去除无用的列,避免多余计算。

rewrite_rule新增projection pushdown描述。

share scan

share scan

stream计划CTE支持share scan:

新增enable_stream_ctescan

logging_module增加取值STREAM_CTESCAN

SELECT语法的WITH子句中增加可选的[[NOT] MATERIALIZED]支持是否物化语法。

列存Bloom Filter

外表侧同线程包含有HDFS内外表或列存表的HASH JOIN会触发Bloom Filter。

enable_bloom_filter

列存复制表支持UPDATE

复制表支持UPDATE、DELETE和MERGE INTO等操作。

MERGE INTO

UPDATE

UPSERT

细粒度权限管理

  1. 新增表级权限Alter/Drop/Vacuum。
  2. 新增Schema级权限Alter/Drop。
  3. 新增预置角色role_signal_backend、role_read_all_stats。

解决INSERT OVERWRITE多CN死锁问题

多CN同时触发INSERT OVERWRITE不会造成死锁。

-

执行计划优化

  • SQL关联条件含or,执行计划走nestloop导致性能差,改写为union all优化。
  • SQL存在关联,过滤条件中含or条件,列存表的关联前对or的条件剪枝。
  • 集群DN数量较多时,大表与小表关联时,小表不走重分布操作而是走广播操作。

SQL调优关键参数调整

rewrite_rule新增projection_pushdown和or_conversion。

基于Relfile的空间统计与空间管控

  1. pg_table_size、pg_relation_size、table_skewness等系列视图的查询能够秒级返回结果。
  2. schema空间管控能够统计全量空间,解除当前约束。
  3. user/schema空间管控校准函数能够快速执行,schema空间校准函数自动执行。
  4. schema空间配额的SQL接口能够按照schema总空间分配而非DN级别。

性能定位定界增强专项

  1. 通信异常监测日志增强。
  2. pgxc_stat_activity视图增强。
  3. 支持Top SQL与Unique SQL关联。
  4. 新增pg_session_wlmstat分布式视图

资源负载管理优化重构

  1. 用户资源监控增强:用户资源监控逻辑整改。
  2. 资源监控增强:优化作业、用户资源监控,并增加队列级别资源监控。

分区表特性修改

  1. 边界值个数约束修改:分区表的所有分区数不超过32767个,所有分区的边界值个数不大于32767个。
  2. 修改创建默认分区策略:建分区表时,将创建两个默认分区,这两个默认分区的分区时间范围均为PERIOD。

CREATE TABLE PARTITION

Agg重分布列Hint

Oracle数仓迁移过程中,通过增强Hint特性手动指定分布列。

Plan Hint调优概述

Stream方式的Hint

新增除零返回NULL(8.1.3.110新增)

MySQL兼容模式下,除数为0时,控制除法取余操作是否报错。参数behavior_compat_options新增兼容配置项enable_division_by_zero_mysql。

behavior_compat_options

DDL锁超时配置(8.1.3.200新增)

新增GUC参数ddl_lock_timeout,可对DDL锁超时时间进行配置。

ddl_lock_timeout

PG_LOCKS视图增强(8.1.3.200新增)

  • 新增视图PGXC_WAIT_DETAIL和PGXC_LOCKWAIT_DETAIL
  • 增加wait_on_pid、query_id等字段。

数据脱敏可算不可见兼容配置(8.1.3.310新增)

新增GUC参数redact_compat_options,用于设置数据脱敏可算不可见兼容性行为配置项。

truncate、exchange与select并发(8.1.3.320新增)

新增GUC参数ddl_select_concurrent_mode,该特性主要解决数据量较大或复杂查询的场景中,查询语句持续时间过长,阻塞DDL的场景,与Oracle效果一致。

支持场景:

  • 支持truncate和select并发;
  • 支持exchange和select并发。

场景约束:

  • 与高级别的锁冲突(大于1级),不支持并发(比如autoanalyze_mode=normal时,同时select触发了autoanalyze);
  • 与事务块中的锁冲突,不支持并发。

DWS常用连接方式约束:

  • jdbc、odbc、python驱动时,如果程序设置了autocommit = false,不支持该特性;
  • Data Studio下发的所有查询语句,自动起事务,不支持该特性。

ddl_select_concurrent_mode

支持控制LIMIT语句是否启用early stop优化(8.1.3.320新增)

新增GUC参数enable_limit_stop,控制LIMIT语句是否启用early stop优化。

enable_limit_stop

early stop功能行为变更(8.1.3.322新增)

GUC参数enable_limit_stop默认值改为on。

enable_limit_stop

normalize_negative_zero(8.1.3.333新增)

behavior_compat_options参数中新增选项normalize_negative_zero,控制ceil(),round()函数在处理float类型特定值时返回-0与否。

开发指南 > GUC参数> 其他选项 >behavior_compat_options

internal_compat_options

(8.1.3.333新增)

新增参数GUC参数internal_compat_options控制数据库兼容性行为配置项。其中light_proxy_permission_compat选项用于light Proxy场景下嵌套查询权限配置项。

开发指南 > GUC参数>其他选项

disable_client_detection_commit

(8.1.3.333新增)

behavior_compat_options参数中新增disable_client_detection_commit选项,控制是否在每次事务提交之前,检测与客户端的连接是否存在。

开发指南 > GUC参数> 其他选项 >behavior_compat_options

enable_stream_ctescan新装默认关闭

(8.1.3.333修改)

修改enable_stream_ctescan参数,升级前向兼容,新装默认关闭。

开发指南 > GUC参数> 优化器方法配置

enable_trunc_orc_string

(8.1.3.336新增)

控制orc格式外表字段为varchar(n),但是orc文件字段类型为string,且string长度超过n时,外表查询的行为。

开发指南 > GUC参数> 其他选项 >behavior_compat_options

gds_fill_multi_missing_fields

(8.1.3.336新增)

gds_fill_multi_missing_fields

控制GDS外表容错性参数fill_missing_fields设置为true/on时的行为。

开发指南 > GUC参数> 其他选项 >behavior_compat_options

SQL语法

表2 SQL语法

变更类型

序号

名称

变更描述

新增

1

create foreign table (SQL on Hadoop or OBS)

OPTION选项format参数新增json。

2

create foreign table (SQL on Hadoop or OBS)

OPTION选项新增force_mapping。

3

列类型kvtype

建表和alter column语法在列类型后面指定kvtype类型(tstag, tsfield, tstime),用于指定时序表的列类型。

4

表级参数sub_partition_count

用于设置时序表二级分区的个数。

5

表级参数ttl

用于指定自增分区的过期时间。

6

表级参数period

用于指定add分区任务和drop分区任务的触发时间间隔、单个分区时间范围。

7

支持List分区

新增list分区操作语法,包括创建、ALTER各项操作。其中创建语法时单独的语法分支;AT语法除split外,其它和range分区类似。

8

alter table add index/drop index

新增alter table语法分支新增和删除索引。

9

create table ... like

新增create table ... like不带括号的语法形式 。

10

alter table ... add/modify column

新增alter table对column的添加和修改语句,现支持设置comment和default。

11

with cte as后新增[NOT] MATERIALIZED语法

with cte as后新增[NOT] MATERIALIZED语法。

12

alter index ... comment

增加alter index语法支持comment子句。

13

alter table ... add index comment

增加alter table add index语法支持comment子句。

14

create index index_name on table_name comment

增加create index语法适配comment子句。

15

copy to

copy to语句OPTION选项新增server、bom、fileprefix、maxrow。

16

create foreign table(obs导入导出)

create foreign table(obs导入导出)语句OPTION选项新增bom。

17

操作符=

如果两个roaringbitmap相等则返回true,否则返回false。

18

操作符<>

如果两个roaringbitmap不相等则返回true,否则返回false。

19

操作符&

计算两个roaringbitmap求交集以后的结果。

20

操作符|

计算两个roaringbitmap求并集以后的结果。

21

操作符|

计算一个roaringbitmap中增加一个id以后的结果。

22

操作符#

计算两个roaringbitmap做异或运算后的结果。

23

操作符-

计算在第一个roaringbitmap,但是不在第二个roaringbitmap中的集合。

24

操作符-

在roaringbitmap中去掉指定的id后的结果。

25

操作符@>

前面的roaringbitmap如果包含后面的元素则返回true,否则返回false。

26

操作符<@

前面的roaringbitmap如果被后面的元素包含则返回true,否则返回false。

27

操作符&&

两个roaringbitmap如果有交集则返回true,否则返回false。

28

ALTER TABLE DROP KEY

新增删除索引语法,与alter table drop index用法相同。

29

ALTER TABLE CHANGE

兼容MySQL中的change语法,可以同时修改列名以及列属性。

30

ALTER TABLE ... FIRST/AFTER colname

语法层实现支持FIRST/AFTER语法,但不实现实际语义,适用alter table add/modify/change column场景,受参数skip_first_after_mysql控制。

31

AGG HINT

新增对于agg的hint,可用于性能调优。

32

ALTER TABLE ... ALTER COLUMN cstore_cu_sample_ratio

为了少解压CU,样本都集中在随机选择的CU里,样本比较集中,不容易获取数据特征。

加这个字段属性是为了在不增大采样率的情况下,多筛选一些CU,易于获取数据特征。

修改

33

表级参数deltarow_threshold

表级参数deltarow_threshold的默认值设置为10000,指定列存表导入时小于多少行的数据进入delta表,只在表级参数enable_delta开启时生效。

34

btree索引支持类型扩展

该开源的引入,将btree索引支持的类型进一步扩展,在满足对应表支持类型的基础上,对行存表、列存表和时序表等都是适用的。btree_gin提供了一个为数据类型int2、int4、int8、float4、float8、timestamp with time zone、timestamp without time zone、time with time zone、time without time zone、date、interval、oid、money、"char"、varchar、text、bytea、bit、varbit、macaddr、macaddr8、inet、cidr、uuid、name、bool、bpchar和所有enum类型。

35

grant/revoke/alter default privileges语法

增加Alter/Drop/Vacuum权限。

36

ALTER TABLE ... DROP PARTITION

drop partition语法可支持删除多个分区。

37

CREATE/ALTER TABLE中字段DEFAULT子句

create/alter table中的DEFAULT子句,不再支持后缀操作符(当前唯一的后缀操作符是阶乘!),如:create table t (a int default 3!);

关键字

表3 关键字

变更类型

序号

名称

变更描述

新增

1

MATERIALIZED

with cte as后新增[NOT] MATERIALIZED语法。作为非保留关键字,不影响其作为其他对象名,作为列别名时需要加AS。

2

time_fill

用于时间填充表达式输出time_fill列,作为关键字,不能用作函数名和自定义数据类型名。

3

fill_first/fill_last/fill_avg

用于时间填充表达式,输出填充列,作为关键字,不能用作函数名和自定义数据类型名。

4

list

用于指定分区表类型,作为非保留关键字,不影响其作为其他对象名,作为列别名时需要加AS。

5

tsfield/tstag/tstime

用于指定时序表kvtype类型,作为非保留关键字,不影响其作为其他对象名,作为列别名时需要加AS。

系统表

表4 系统表

变更类型

序号

名称

变更描述

新增

1

rb_added

RoaringBitmap中增加一个值。

2

pg_partition

pg_partition新增字段boundexprs。

3

pg_relfilenode_size

新增系统表。

4

pg_attribute

pg_attribute新增attkvtype列,记录列的kvtype类型。

5

pg_collation

新增一条记录case_insensitive,用于支持大小写不敏感行为。

系统函数

表5 系统函数

变更类型

序号

名称

变更描述

新增

1

rb_build

将int数组转成一个bitmap类型。

2

rb_to_array

rb_build的逆向操作,把RoaringBitmap转成int数组。

3

rb_and

两个RoaringBitmap做交集操作。

4

rb_or

两个RoaringBitmap做并集操作。

5

rb_xor

两个RoaringBitmap做异或操作。

6

rb_andnot

两个RoaringBitmap做and后取反。

7

rb_cardinality

计算一个RoaringBitmap的基数。

8

rb_and_cardinality

计算两个RoaringBitmap求and以后的基数。

9

rb_or_cardinality

计算两个RoaringBitmap求or以后的基数。

10

rb_xor_cardinality

计算两个RoaringBitmap求xor以后的基数。

11

rb_andnot_cardinality

计算两个RoaringBitmap求andnot以后的基数。

12

rb_is_empty

判断一个RoaringBitmap是否为空。

13

rb_equals

判断两个RoaringBitmap是否相等。

14

rb_intersect

判断两个RoaringBitmap是否相交。

15

rb_contain

判断第一个RoaringBitmap是否包含指定的值。

16

rb_add

RoaringBitmap中增加一个值。

17

rb_remove

RoaringBitmap中删除一个值。

18

rb_flip

翻转指定范围的RoaringBitmap。

19

rb_min

求一个RoaringBitmap的最小值。

20

rb_max

求一个RoaringBitmap的最大值。

21

rb_rank

返回Bitmap中小于等于指定Offset的基数。

22

rb_contain_rb

判断第一个RoaringBitmap是否包含第二个roaringbitmap。

23

rb_containedby_rb

判断第二个RoaringBitmap是否包含第一个roaringbitmap。

24

rb_containedby

判断指定的值是否被指定的roaringbitmap包含。

25

rb_iterate

返回RoaringBitmap对应的int 。

26

rb_and_agg

将RoaringBitmap列按照and逻辑做聚合。

27

rb_or_agg

将RoaringBitmap列按照or逻辑做聚合。

28

rb_xor_agg

将RoaringBitmap列按照xor逻辑做聚合。

29

rb_and_cardinality_agg

将RoaringBitmap列按照and逻辑做聚合后的基数。

30

rb_or_cardinality_agg

将RoaringBitmap列按照or逻辑做聚合后的基数。

31

rb_xor_cardinality_agg

将RoaringBitmap列按照xor逻辑做聚合后的基数。

32

rb_build_agg

将int列聚合成RoaringBitmap类型数据。

33

pgxc_wlm_readjust_relfilenode_size_table()

空间统计校准函数,不重建PG_RELFILENODE_SIZE系统表,重新校准用户和schema空间。

34

gs_table_distribution()

快速查询系统中表大小的函数。

35

pg_obs_cold_refresh_time

修改obs多温表自动切换任务时间。

36

gs_clean_tag_relation

清理tag表中无用的tagid行数据。该函数入参为时序表OID,每个分区遍历cudesc表tagid列的最小值,从而得到整个时序表tagid的最小值。

37

proc_drop_partition

用于将分区boundary时间超过TTL的分区进行drop。

38

proc_add_partition

用于为分区表创建分区。

39

pg_collation_actual_version

返回ICU排序规则的实际版本号。

40

first

分组内第一个元素。

41

last

分组内最后一个元素。

42

mode

分组内出现频率最高的值。

43

delta

相邻两行的差值。

44

percentile_of_value

近似百分位的值。

45

value_of_percentile

近似百分位。

46

spread

分组内最大值和最小值的差值。

47

pg_flush_buffers

刷出所有行存脏页。

修改

48

pg_stat_activity系列视图

pg_stat_get_activity_with_conninfo、pg_stat_activity、pgxc_stat_activity、pg_stat_get_activity视图新增stmt_type和lwtid列。

49

pg_authid系统表新增两行

新增pg_role_signal_backend,pg_role_read_all_stats预置角色。

50

vac_fileclear_relation

可以返回指定表真实清理文件的数量,不清理返回0。

51

vac_fileclear_all_relation

可以返回所有列存表真实清理文件的数量,不清理则返回0。

系统视图

表6 系统视图

变更类型

序号

名称

变更描述

新增

1

pgxc_session_wlmstat

新增视图。

2

pg_comm_query_speed

新增视图,根据query_id查询发送信息。

3

pgxc_respool_resource_info

pgxc_respool_runtime_info

pgxc_respool_resource_history

gs_respool_resource_info

gs_respool_runtime_info

资源监控新增相关视图。

4

pgxc_wait_detail

pgxc_lockwait_detail

新增pg_locks增强视图。

修改

5

DBA_PART_INDEXES

DBA_PART_TABLES

DBA_TAB_PARTITIONS

USER_IND_PARTITIONS

USER_PART_INDEXES

USER_TAB_PARTITIONS

增加相关list分区描述。

6

pgxc_wlm_session_statistics

视图从所有CN查询TopSQL实时信息的逻辑由串行修改为并行,提升性能,功能不变。

7

all_indexes

sys和pg_catalog下面的视图all_indexes定义存在问题,不同scheam下存在同名对象的场景下会导致结果集膨胀。

行为变更

表7 行为变更

变更类型

序号

名称

变更描述

修改

1

create index目标表为时序表时

时序表创建的任何索引都会转换为tag表上的双索引,该双索引的索引列为指定的建索引的列。

2

负载管理新增二次管控

负载管理引入二次管控,提供更精细化的管控,FUNCTION、函数和多语句中包含复杂查询的可能触发多次管控,设置enable_transaction_parctl=off可以关闭二次管控,但同时会关闭事务块语句和多语句管控。

3

负载管理autoanalyze纳管

查询触发autoanalyze管控逻辑由不管控修改为管控,设置enable_transaction_parctl=off可以关闭autoanalyze管控。

4

用户监控视图pg_total_user_resource_info

  1. CPU/内存资源使用和限制全部修改为用户在集群内的资源使用和资源限制。
  2. CPU、IO、内存监控规格变更:由只监控复杂作业修改为监控所有作业。
  3. CPU监控逻辑变更:由cgroup监控修改为作业CPU监控汇总。

5

审计日志

  1. 事务内语句在未设置审计事务但设置审计对应语句类型时,仍进行审计。
  2. DECLARE CURSOR语句在guc参数audit_operation_exec设置select时也进行审计。

GUC参数

表8 GUC参数

变更类型

序号

名称

变更描述

新增

1

space_readjust_schedule

用户、schema空间是否自动校准的参数,默认值:auto,支持范围:off/auto/auto(xxxK/M/G)。

2

space_once_adjust_num

空间管控和空间统计功能中,控制慢速构建与细粒度校准操作中每次处理的文件个数阈值,默认值:300。

3

tag_cache_max_number

该参数用于设置全局哈希表tag cache缓存item的最大阈值,默认值10000000。

4

enable_tagbucket_auto_adapt

该参数用于设置是否开启tagbucket自适应调整,默认值on。

5

cache_tag_value_num

该参数用于在tag列lateread场景时,设置缓存的tag元组数量,默认值60000。

6

buffer_ring_ratio

用于控制行存Ringbuffer的阈值和开关,默认值250,即1/4(250/1000),与以前逻辑一致。

7

enable_stream_ctescan

新增参数,升级默认关闭,新装默认打开。控制stream计划是否开启share scan功能。

8

behavior_compat_options

新增disable_including_all_mysql选项用于控制MySQL兼容模式下create table like语法是否为including all模式,默认不设置,create table like语法为including_all模式。

9

profile_logging_module

增加GUC参数profile_logging_module配置记录性能日志的类型,升级和新装均默认打开OBS、HADOOP、REMOTE_DATANODE,关闭MD。该参数方法与日志模块开关logging_module相同。

10

object_mtime_record_mode

控制pg_object记录修改时间的行为,默认保持老版本行为,新增选项可控制不记录分区/truncate/grant/revoke。

11

skew_option

控制是否使用优化策略。

12

ddl_lock_timeout

配置ddl锁超时的时间。

修改

13

rewrite_rule

  • 新增选项orconversion,默认打开。

    使用等值关联的OR条件优化规则。变更点:计划从nestloop转到hashjoin。

  • 新增选项projection_pushdown,默认打开。

    变更点:子查询/CTE/视图中未使用的列被优化删除。

14

max_process_memory

初始化安装时OM设置max_process_memory公式为:可用内存*0.7/(1+DN数),其中系数0.7改为0.8。老集群升级、扩容等场景不变。

15

enable_bloom_filter

复用原参数,现用于控制列存BloomFilter,默认值不变(打开)。

16

retry_ecode_list

默认值新增45003,主要是处理list分区表查询和add分区并发场景下,查询分区可能错位的问题。

17

auth_iteration_count

将默认值从50000减少到10000,新装、升级均会修改。参数表示客户端和服务端密码哈希迭代次数。

相关文档