华为云用户手册

  • 8.1.3.336 表1 8.1.3.336新增功能/解决问题列表 类别 功能或问题描述 问题原因 问题出现版本 修复建议 新增功能 无 - - - 解决问题 外表导入报错value too long for type character varying(512)。 ORC外表类型与文件对应字段类型不一致时(外表类型是varchar(y),文件对应字段类型是string),导入时由于字段超长导致报错。 8.1.1.100 升级到8.1.3.336及以上。 OpenSSL变更引起CM启动调度器报错,影响安装、扩容、调度器功能。 OpenSSL更改了LD_LIBRARY_PATH的顺序,系统目录在前,GAUSS目录在后,导致启动调度器时找到了错误的so文件,启动失败。 8.1.3.336以前
  • 8.1.3.330 表3 8.1.3.330新增功能/解决问题列表 类别 功能或问题描述 问题原因 问题出现版本 修复建议 新增功能 无 - - - 解决问题 insert into select语句在计划生成阶段core,执行select部分不会core。 ORCLAUSE转换,对两个相同的sublink替换,将其指向同一个OpExpr,再次提升时在OffsetVarNodes中会将varno调整两次,造成后续core。 8.1.3.330以前版本 升级到8.1.3.330及以上。 列存轻量化用例概率触发core: CS torePartitionInsert::findBiggestPartition。 列存分区表统计bulkloadUsedMemSize,将update算子和insert算子混在一起统计,但是在判断是刷盘到disk时,内存自适应的大小是根据每个算子估出来的,导致g_bulkloadUsedMemSize统计常常大于估算值,update算子占用内存到估算内存临界值时,可能造成insert算子一条数据都无法插入。 8.1.3.330以前版本 出现wait ccn排队,但是看资源池的估算内存和占用内存,以及并发数未到排队阈值。 作业在CCN排队时无法进行全局内存校准,阻塞了作业。 8.1.3.330以前版本 用户直接查表没有权限 ,但是嵌套一层查询就可以查到。 light proxy的权限检查是在CN的checkLightQuery中调用权限校验公共函数ExecCheckRTPerms实现的,在DN上不会再进行权限检查。而在调用ExecCheckRTPerms时,其入参rangeTables需要是RTE_RELATION。否则会在ExecCheckRTEPerms中直接返回true。当是嵌套SQL时,类型是RTE_SUBQUERY,绕过了权限检查。 8.1.3.330以前版本 作业运行过程中偶现删除语句报错,报错信息为canceling statement due to statement timeout。 w报文未重新设置事务时间,导致线程复用。 8.1.3.330以前版本 json类型查询内存泄露,导致重分布占用大量内存影响业务。 在jsonb的out函数中存在内存未释放问题,数据量大时出现堆积造成使用内存高。 8.1.3.330以前版本 作业并发执行报错:tuple concurrently updated。 分区和表的oid相同,analyze时使用分区的oid更新了pg_object,实质上是将表的pg_object记录更新。此时有并发的DDL操作,例如alter table同时更新了表的pg_object记录,就会出现并发更新的报错。 8.1.3.330以前版本
  • 8.1.3.325 表4 8.1.3.325新增功能/解决问题列表 类别 功能或问题描述 问题原因 问题出现版本 修复建议 新增功能 新增支持GB18030_2022的字符编码。 支持禁用子查询hint功能。 GDS外表兼容utf8非法字符。 - - - 解决问题 DN节点重启,日志截断,集群出现hang问题。 stream线程报错打印日志时,响应了cancel信号,再次打印日志会引发hang问题。 8.1.3.320 升级到8.1.3.325。 业务表创建偶现报错:relation “xxx” already exists。 业务偶现报错:could not read block xxx in file "xxx"。 OID使用超过42亿之后重新开始分配,在复用过程中引起业务偶现报错。 8.1.3.323及以下版本 DN备机checkpoint无法成功,导致备机xlog日志无法回收,持续堆积。 DN备机在redo checkpoint时,如果看到有不完整的btree分裂就会报告RM 11问题,实际上可能是btree分裂失败或者处于btree分裂过程中。 8.1.3.323及以下版本 列存表执行轻量化update和后台执行autovacuum并发操作时报错:Unsupported to update different rows with the same cuid and col in light update。 在轻量化update中,不支持使用相同的cuid和col更新不同的行。 8.1.3.323及以下版本 某些场景no_merge的hint操作不生效。 不支持禁用子查询hint功能。 8.1.3.323及以下版本 后台执行长时间查询语句时,通过CTRL + C方式结束语句未等语句彻底退出,又通过CTRL + Z方式退出gsql客户端,会导致语句残留。 CN收到CTRL + C的取消信号后,CN线程处于报错长跳转流程中,此时去调用EmitErrorReport,而EmitErrorReport未响应信号。 8.1.3.323及以下版本 使用大宽表与实时表做关联更新时出现内存占用率太高,影响性能。 使用大宽表与实时表做关联更新,更新时update会将无关列加上,导致执行计划做优化器估算时内存占用率太高,影响性能。 8.1.3.323及以下版本 ShareScan计划中,存放CTE的tuplestore和batchstore的内存不能扩展易产生下盘。 ShareScan执行计划结构体中的cteMaxMem未进行copy、read和write处理,导致DN上在CTE的执行计划上未获取到该值,导致创建的保存CTE结果集的tuplestore和batchstore无法进行内存扩展而下盘。 8.1.3.323及以下版本 执行列存轻量化update报错:could not determine data type of parameter。 在执行计划的Remote query中,创建parame参数为其在基表中的位置,且系统列也匹配不上该参数。 8.1.3.323及以下版本
  • 8.1.3.320 表6 8.1.3.320新增功能/解决问题列表 类别 功能或问题描述 问题原因 问题出现版本 修复建议 新增功能 truncate、exchange与select并发: 新增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下发的所有查询语句,自动起事务,不支持该特性。 - - - 支持控制LIMIT语句是否启用early stop优化: 新增GUC参数enable_limit_stop,控制LIMIT语句是否启用early stop优化。 - - - 解决问题 语句级估算内存超过max_process_memory限制,导致ccn排队。 语句级估算内存超过max_process_memory限制。 8.1.3.310及以下版本 升级到8.1.3.320及以上版本。具体升级策略请参见版本收编策略。 执行merge报错:value xxx is out of range for type integer。 pg_toast_get_baseid()函数中使用int接口处理OID。 8.1.3.310及以下版本 查询20万行数据大表的脏页率视图,内存占用大。 查询数据的时候,查询统计信息的内置函数中创建的链表内每个结点上申请了内存空间用于存放tupStatus,查询结束后,仅释放了链表上结点的内存,结点内申请的内存未释放。 8.1.1.x版本 Vacuum执行超时被查杀后,部分DN出现线程残留,无法响应信号,阻塞其他语句执行。 由于btvacuumscan中未响应信号,导致Vacuum执行超时被查杀后,部分dn出现线程残留,无法响应信号。 8.1.1.x版本 对MySQL兼容库中的分区表、时序表执行analyze百分比采样操作时报错:unsupported feature with temporary/unlogged table for partitioned table。 由于8.1.3版本中为了兼容MySQL中CREATE TABLE LIKE语法,默认继承模式为INCLUDING ALL,且执行analyze百分比采样时,含有自动创建临时复制表命令,导致analyze时出现报错。 8.1.3.310及以下版本 冷热表的select查询语句触发runtime autoanalyze,性能慢。 执行truncate partition,exchange partition,drop partition,alter distribute,alter column type这五种操作后,再执行select该表会触发autoanalyze。 8.1.3.310及以下版本 pg_session_wlmstat中elapsed_time与TOP SQL实际执行的时间不一致。 查询pg_session_wlmstat视图,语句处于RUNNING状态时elapsed_time过大。 8.0.x 给外表执行grant select权限时报错:has no distribute type。 obs dfs server只写外表没有指定默认的分布方式导致报错。 8.1.3.310及以下版本
  • GUC参数 表7 GUC参数 变更类型 序号 名称 变更描述 新增 1 sql_use_spacelimit 设置单SQL语句在单个DN上最大存储空间限额。 2 remote_read_mode 设置远程读模式。 3 enable_incremental_catchup 设置是否打开增量catchup。 4 wait_dummy_time 增量catchup中等待从备启动或者从备发回扫描列表的最长时间。 5 enable_xlog_group_insert 用于指定在ARM平台下,xlog是否启动group的插入方式。 6 topsql_retention_time 该参数表示gs_wlm_session_info和gs_wlm_operator_info表中的数据能够保存的天数。 7 user_metric_retention_time 该参数表示用户历史资源监控数据能够保存的天数。 8 instance_metric_retention_time 该参数表示实例历史资源监控数据能够保存的天数。 9 enable_user_metric_persistent 该参数表示是否开启用户历史资源监控转存功能。 10 enable_instance_metric_persistent 该参数表示是否开启实例历史资源监控转存功能。 11 COMM_IPC 通信性能问题定位开关,该参数设置是否打印通信各个节点的报文收发情况。 12 COMM_PA RAM 通信性能问题定位开关,该参数设置是否打印节点通信过程中session参数设置情况。 13 plan_cache_mode 控制cached plan的行为,可以强制走custom plan/generic plan/auto(和当前默认保持一致),默认值为auto。 修改 14 audit_system_object 扩展第18位表示是否审计SYNONYM对象,最大值修改为524287。 15 comm_max_stream 在一体机环境上,该参数集群安装之后,默认值修改为10000。 16 enable_dynamic_workload 默认值由off修改为on。 17 behavior_compat_options 增加成员convert_interval_to_text来控制,是否支持interval到text的隐式类型转换,默认不设置,不支持。
  • 系统视图 表5 系统视图 变更类型 序号 名称 变更描述 新增 1 ALL_SYNONYMS DBA_SYNONYMS USER_SYNONYMS ALL_SYNONYMS视图存储了当前用户可访问的所有同义词信息。 DBA_SYNONYMS视图存储关于数据库下的所有同义词信息。需要有系统管理员权限才可以访问。 USER_SYNONYMS视图存储当前用户可访问的同义词信息。 2 REDACTION_POLICIES REDACTION_COLUMNS 分别对应两张系统表,将oid转为name直观显示策略信息。 3 GS_WORKLOAD_SQL_COUNT 显示当前节点上Workload控制组内的SQL语句执行次数的统计信息,包括SELECT、UPDATE、INSERT、DELETE语句的执行次数统计,以及DDL、DML、DCL类型语句的执行次数统计。 4 PGXC_WORKLOAD_SQL_COUNT 显示集群中所有CN节点上的Workload控制组内的SQL语句执行次数的统计信息,包括SELECT、UPDATE、INSERT、DELETE语句的执行次数统计,以及DDL、DML、DCL类型语句的执行次数统计。 5 GLOBAL_WORKLOAD_SQL_COUNT 显示集群中所有Workload控制组内SQL语句执行次数的统计信息,包括SELECT、UPDATE、INSERT、DELETE语句的执行次数统计,以及DDL、DML、DCL类型语句的执行次数统计。 6 GS_WORKLOAD_SQL_ELAPSE_TIME 显示当前节点上Workload控制组内SQL语句执行的响应时间的统计信息,包括SELECT、UPDATE、INSERT、DELETE语句的最大、最小、平均、以及总响应时间,单位为微秒。 7 PGXC_WORKLOAD_SQL_ELAPSE_TIME 显示集群中所有CN节点上Workload控制组内SQL语句执行的响应时间的统计信息,包括SELECT、UPDATE、INSERT、DELETE语句的最大、最小、平均、以及总响应时间,单位为微秒。 8 GLOBAL_WORKLOAD_SQL_ELAPSE_TIME 显示集群中所有Workload控制组内SQL语句执行的响应时间的统计信息,包括SELECT、UPDATE、INSERT、DELETE语句的最大、最小、平均、以及总响应时间,单位为微秒。 9 PGXC_INSTR_UNIQUE_SQL 展示集群中所有CN节点的Unique SQL的完整统计信息。 10 GS_INSTR_UNIQUE_SQL 显示当前节点收集的Unique SQL的执行信息。 修改 11 ALL_OBJE CTS DBA_OBJECTS USER_OBJECTS 修改视图定义,扩展SYNONYM对象。 12 PGXC_THREAD_WAIT_STATUS 修改视图定义。 13 GS_SQL_COUNT 新增提供当前节点中所有用户执行的SELECT/UPDATE/INSERT/DELETE/MERGE INTO语句的响应时间的统计结果以及DDL、DML、DCL语句的计数结果。 14 PGXC_SQL_COUNT 新增提供集群中所有用户执行的SELECT/UPDATE/INSERT/DELETE/MERGE INTO语句的响应时间的统计结果以及DDL、DML、DCL语句的计数结果。 15 ALL_OBJECTS DBA_OBJECTS USER_OBJECTS 修改视图定义,增加对象的创建时间和最后修改时间。 16 PG_TABLES 修改视图定义,增加表的创建用户、创建时间和最后修改时间。
  • SQL语法 表1 SQL语法 变更类型 序号 名称 变更描述 新增 1 设置临时表空间限额 新增语法CREATE USER/ROLE user1 …TEMP SPACE ‘5GB',进行临时空间配额设置。 2 修改临时表空间限额 新增语法ALTER USER user1 TEMP SPACE ‘5GB’;,进行临时空间配额修改。 3 设置中间计算结果集落盘空间限额 新增语法CREATE USER/ROLE user1 … SPILL SPACE ‘unlimited;,进行中间结果集临时空间配额设置。 4 修改中间计算结果集落盘空间限额 新增语法ALTER USER user1 SPILL SPACE ‘5GB’;,进行中间结果集临时空间配额设置。 5 ALTER TABLE 新增语法:alter table modify not null [enable] / alter table modify null。 6 CREATE INDEX 新增语法:创建索引时支持索引名带schema。 7 ALTER SEQUENCE 新增语法:ALTER SEQUENCE。 8 CREATE SYNONYM 新增语法:CREATE [OR REPLACE] SYNONYM syn_name FOR obj_name。 9 DROP SYNONYM 新增语法:DROP SYNONYM IF EXISTS syn_name。 10 ALTER SYNONYM 新增语法:ALTER SYNONYM syn_name OWNER TO newowner。 11 CREATE USER/ROLE with ldap password disable 支持AD认证,创建用户时指定用户认证类型是ldap。 12 ALTER USER/ROLEwith ldap password disable 支持AD认证,修改用户认证类型为ldap。 13 copy容错表参数选项增加 添加log errors data选项以支持用户自定义选择是否。 填充rawrecord字段。 修改 14 GIN索引 300场景下禁止GIN索引。 删除 15 ALTER TABLE分区表exchange with unlogg表 禁止分区表与unlogged表做exchange交换。
  • 关键字 表2 关键字 变更类型 序号 名称 变更描述 新增 1 SYNONYM 新增非保留关键字SYNONYM。 2 VERIFY 新增保留关键字VERIFY。 3 FAST 新增非保留关键字FAST。 4 COMPLETE 新增非保留关键字COMPLETE。 修改 5 FUNCTION 关键字FUNCTION类型改为非保留关键字‘U’。 6 OVER 关键字OVER类型改为非保留关键字‘U’。 7 SPLIT 关键字SPLIT类型改为非保留关键字‘U’。 8 RETURN 关键字RETURN类型改为非保留关键字‘U’。 9 ISNULL 关键字ISNULL类型改为非保留关键字‘U’。
  • 系统表 表3 系统表 变更类型 序号 名称 变更描述 新增 1 PG_SYNONYM 新增系统表pg_synonym,用于存储同义词对象与关联对象名间的映射关系。 2 PG_REDACTION_POLICY PG_REDACTION_COLUMN pg_redaction_policy用于存储对象脱敏策略,状态表达式等。 pg_redaction_column用于存储对象列信息,哪些列需要被脱敏,及脱敏方式。 3 PG_OBJECT 存储table/foreign table/view/index/sequence/function的创建时间、创建用户、最后修改时间。 修改 4 PG_AUTHID 增加一列authinfo标识用户的认证类型,默认是空,如果是AD用户,则是ldap。
  • 系统函数 表4 系统函数 变更类型 序号 名称 变更描述 新增 1 dbms_redact.add_policy dbms_redact.alter_policy dbms_redact.enable_policy dbms_redact.disable_policy dbms_redact.drop_policy 新增脱敏策略。 更改脱敏策略信息,包括对一个表对象增加脱敏列、修改脱敏列脱敏方式等。 开启、关闭脱敏策略。 删除脱敏策略。 2 pgxc_get_workload_sql_count 提供当前集群所有CN上所有Workload控制组内执行的SELECT/UPDATE/INSERT/DELETE语句的计数统计结果以及DDL、DML、DCL类型语句的计数统计结果。 3 pgxc_get_workload_sql_elapse_time 提供当前集群所有CN上所有Workload控制组内执行的SELECT/UPDATE/INSERT/DELETE语句的响应时间统计结果。 4 get_instr_unique_sql 提供当前节点中收集的Unique SQL的信息。 5 reset_instr_unique_sql(cstring, cstring, INT8) 清理已收集的Unique SQL信息。 6 pgxc_get_instr_unique_sql 提供集群中所有CN上收集的Unique SQL的完整信息。 7 pg_check_authid 根据用户oid检查用户是否存在。 修改 8 pg_stat_get_sql_count 新增提供当前节点中所有用户执行的SELECT/UPDATE/INSERT/DELETE/MERGE INTO语句的响应时间的统计结果以及DDL、DML、DCL语句的计数结果。 9 pgxc_get_sql_count 新增提供所有节点中所有用户执行的SELECT/UPDATE/INSERT/DELETE/MERGE INTO语句的响应时间的统计结果以及DDL、DML、DCL语句的计数结果。
  • 时区 表9 时区 变更类型 序号 名称 变更描述 修改 1 Asia/Beijing北京时区的定义改为与Asia/Shanghai一致 1901年前的时区偏移从08:00:00调整为08:05:43。 新增了1940年至1949年的夏令时规则。 1940年6月1号到10月12号采用夏令时。 1941年3月15号到11月1号采用夏令时。 1942年1月31日直到1945年9月1号都采用夏令时,这三年都使用夏令时区是因为期间发生了二战,政府没有在进行时区规则全国调整。 1946年05月15日到09月31日采用夏令时。 1947年04月15日到10月31日采用夏令时。 1948年05月01日到09月30日采用夏令时。 1949年05月01日到09月30日采用夏令时。 1986年至1991年间的夏令时规则也进行了调整。 1986至1991年夏令时调整从凌晨零点改为凌晨两点。 1987至1991年夏令时调整到标准时区从9月10号以后第一个周日改为11号以后第一个周日。 2 Asia/Shanghai定义修改 1901年前的时区偏移从08:05:57调整为08:05:43。 调整1940至1941年夏令时规则。 1940年夏令时时间,从6月3日到10月1日改为6月1日到10月12日。 1941年夏令时时间,从3月16日到10月1日改为3月15日到11月1日。 新增了1942年至1949年夏令时规则。 1942年1月31日直到1945年9月1号都采用夏令时,这三年都使用夏令时区是因为期间发生了二战,政府没有再进行时区规则调整。 1946年05月15日到09月31日采用夏令时。 1947年04月15日到10月31日采用夏令时。 1948年05月01日到09月30日采用夏令时。 1949年05月01日到09月30日采用夏令时。 1986年至1991年间的夏令时规则也进行了调整。 1986至1991年夏令时调整从凌晨零点改为凌晨两点。 1987至1991年夏令时调整到标准时区从9月10号以后第一个周日改为11号以后第一个周日。 3 Asia/Urumqi 1980年5月后的时区偏移从东八区调整为东六区。 4 原民国时期按照物理时区定义的五大时区调整为两大时区 Asia/Harbin(长白时区),Asia/Chongqing(陇蜀时区),Asia/Shanghai(中原标准时区)时区名保留,定义都指向新定义的Asia/Shanghai(中国标准时区)。全国统一使用。 Asia/Kashgar(昆仑时区),Asia/Urumqi(新藏时区)时区名保留,定义都指向新定义的Asia/Urumqi(乌鲁木齐时区)。当地同时使用两个时区定义。 5 初始化默认时区可能会变更 数据库初始化时会评估一个最符合操作系时区的数据库内部支持时区作为默认时区。因数据库内部支持的时区定义变化,可能会导致初始化默认时区有变化。
  • 系统函数 表5 系统函数 变更类型 序号 名称 变更描述 新增 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 第一个参数从区分大小写修改为不区分大小写。
  • 系统视图 表6 系统视图 变更类型 序号 名称 变更描述 新增 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字段。
  • GUC参数 表8 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字符串操作对尾部空格处理的风格。
  • 系统表 表4 系统表 变更类型 序号 名称 变更描述 新增 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 修改为同名视图。 增加nodename字段。 8 pg_catalog.gs_wlm_ec_operator_info 修改为同名视图。 9 pg_catalog.gs_wlm_ec_operator_info 修改为同名视图。 增加nodename,plan_node_name,ec_operator,ec_fetch_count四个输出字段。
  • SQL语法 表2 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接口。
  • 系统视图 表6 系统视图 变更类型 序号 名称 变更描述 新增 1 GS_WLM_SQL_ALLOW 新增视图供用户查询当前已设置的白名单。 2 PG_TOTAL_SCHEMA_INFO 查询节点Schema空间信息。 3 PGXC_TOTAL_SCHEMA_INFO 查询集群Schema空间信息。 4 PGXC_TOTAL_SCHEMA_INFO_ANALYZE 分析集群Schema空间信息。 5 PGXC_LOCK_CONFLICTS 查询各节点上存在冲突的锁信息。 6 PGXC_DEADLOCK 返回处于分布式死锁中的锁等待信息(包括锁定对象、持锁对象和等锁对象的信息)。 7 PGXC_NODE_STAT_RESET_TIME 显示每个节点的重置时间。 8 GS_NODE_STAT_RESET_TIME 显示当前节点的重置时间。 9 GLOBAL_STAT_DATABASE 显示database全局统计信息。 10 GLOBAL_REL_IOSTAT 显示全局IO统计信息。 11 PGXC_REL_IOSTAT 显示各节点IO统计信息。 12 GS_REL_IOSTAT 显示当前节点IO统计信息。 13 GLOBAL_REDO_STAT 显示全局Redo统计信息。 14 PGXC_REDO_STAT 显示各节点Redo统计信息。 15 GLOBAL_WORKLOAD_TRANSACTION 显示全局workload事务统计信息。 16 PGXC_INSTANCE_TIME 显示各实例时间统计信息。 17 PGXC_SETTINGS 显示各节点GUC设置情况。 18 PGXC_REPLICATION_SLOTS 显示各节点复制slot统计信息。 19 PGXC_STAT_REPLICATION 显示各节点replication统计信息。 20 PGXC_STAT_BGWRITER 显示各节点bgwriter统计信息。 21 PGXC_WAIT_EVENTS 显示各节点等待事件统计信息。 22 GS_WAIT_EVENTS 显示当前节点等待事件统计信息。 23 PGXC_OS_RUN_INFO 显示各实例所在机器OS性能统计信息。 24 PG_LIFECYCLE_DATA_DISTRIBUTE 获取obs冷热表的数据分布情况统计。 25 PG_BULKLOAD_STATIS TICS 对函数pg_stat_get_node_bulkload_statistics封装。 26 PGXC_BULKLOAD_STATISTICS 对函数pgxc_stat_get_node_bulkload_statistics封装。 27 PGXC_BULKLOAD_PROGRESS 基于视图pgxc_bulkload_statistics查询结果进行聚合,计算GDS业务进度百分比。 28 PG_QUERYBAND_ACTION 查询所有query_band负载行为。 29 GS_VIEW_DEPENDENCY_PATH 级联查询视图的依赖关系。 修改 30 REDACTION_COLUMNS 修改系统视图定义,新增一列function_infos。 31 PGXC_GET_TABLE_SKEWNESS 修复了视图PGXC_GET_TABLE_SKEWNESS不显示round-robin表的问题。 32 PGXC_STAT_DATABASE 显示各实例上的Database统计信息。
  • GUC参数 表8 GUC参数 变更类型 序号 名称 变更描述 新增 1 behavior_compat_options 增加convert_empty_str_to_null_td选项,兼容TD模式下to_date, to_timestamp和to_number函数对空串处理返回NULL的行为。 增加enable_interval_to_text选项,控制是否支持interval到text的隐式类型转换。 2 debug_group_dop 可以设定每个stream group的dop,用于在SMP自适应时进行语句级调优使用。默认为空。 3 enable_row_fast_numeric 行存表numeric落盘为bigint格式。 4 expand_hashtable_ratio hash表动态扩展。 5 query_dop_ratio 新增逻辑dop依据系统资源和代价进行判断,当判断不准时增加参数进行逃生。默认为1。 6 show_unshippable_warning 新增参数,控制是否将不下推日志打印到客户端,默认关闭。 7 assign_abort_xid 新增session级别参数,当客户误删(delete)数据后,进行快速有损恢复。默认值为空字符串。此guc参数的意思是需回滚指定xid提交的事务。 8 bi_page_reuse_factor 批插页重用时空闲fsm因子(0表示回到旧逻辑)。 9 check_cu_size_threshold userset级别,列存表插入时,如果一个CU里插入的数据量大于check_cu_size_threshold,启用行大小校验,避免产生大于1G的CU。 10 enable_light_colupdate userset级别,表明是否使用轻量化update。 修改 11 cost_model_version 增加参数值2,默认值1不变。小于2时analyze固定值采样使用原始函数,大于2时固定值采样使用增强随机性的优化函数。 12 expected_computing_nodegroup 就地升级后设置expected_computing_nodegroup为bind。 13 query_dop 新安装集群默认值修改为1,升级集群维持原默认值不变。
  • 行为变更 表7 行为变更 变更类型 序号 名称 变更描述 修改 1 not-null/check约束冲突时不打印整行数据的detail not-null/check约束冲突时不打印整行数据的detail。 2 兼容C80行为默认不匹配interval到text隐式类型转换 behavior_compat_options设置enable_interval_to_text后支持该隐式类型转换。 3 date类型 ora兼容模式下,date类型反解析为pg_catalog.date。 4 agg计划 agg生成stream计划时输出所需列。 5 median配套collate使用 禁用median/percentile_cont/percentile_disc中使用collate。 6 多列分区的修改 调整分区修改时的多列边界检查规则,当某一列的边界值为maxvalue则忽略后面其他列的边界值。 7 enable_nestloop为off时无关联条件时的计划生成 对于两个表无等值关联条件,但与其它表存在等值关联条件,且join的行数膨胀时,原来可以走nestloop,修复完走不了nestloop的计划;对于不支持hashjoin的等值join列,mergejoin也为off时,会导致nestloop代价变化,原来走nestloop+indexscan的会变成nestloop+materialize。
  • 系统函数 表5 系统函数 变更类型 序号 名称 变更描述 新增 1 pgxc_wlm_readjust_schema_space() Schema空间并行校准函数。 2 pgxc_wlm_get_schema_space() 查询集群Schema空间信息。 3 pgxc_wlm_analyze_schema_space() 分析集群Schema空间信息。 4 gs_roach_enable_delay_ddl_recycle 按照备份集的名称来开启延迟DDL。 5 gs_roach_disable_delay_ddl_recycle 按照备份集的名称来关闭延迟DDL。 6 gs_roach_stop_backup 按照备份集名称停止行存备份操作。 7 gs_roach_switch_xlog switch xlog时是否执行checkpoint。 8 pgxc_get_lock_conflicts() 返回各节点上存在冲突的锁信息。 9 mask_none/mask_full/mask_partial 新增内置脱敏函数。 10 median 中位数agg函数。 11 pgxc_node_stat_reset_time() 查询每个节点的重置时间。 12 pgxc_rel_iostat() 查询各节点IO统计信息。 13 pgxc_redo_stat() 查询各节点Redo统计信息。 14 pgxc_instance_time() 查询各实例时间统计信息。 15 pgxc_settings() 查询各节点GUC设置情况。 16 pgxc_replication_slots() 查询各节点复制slot统计信息。 17 pgxc_stat_replication() 查询各节点replication统计信息。 18 pgxc_stat_bgwriter() 查询各节点bgwriter统计信息。 19 pgxc_wait_events() 查询各节点等待事件统计信息。 20 pgxc_os_run_info() 查询各实例所在机器OS性能统计信息。 21 get_node_stat_reset_time() 查询当前节点状态重置时间。 22 get_local_rel_iostat() 查询当前节点IO统计信息。 23 get_instr_wait_event() 查询当前节点等待事件统计信息。 24 pg_stat_get_db_total_blk_write_time() 查询块写入总时间。 25 pg_stat_get_db_total_blk_read_time() 查询块读取总时间。 26 pg_stat_get_db_total_temp_bytes() 查询临时文件总大小。 27 pg_stat_get_db_total_temp_files() 查询临时文件总数。 28 pg_stat_get_db_total_deadlocks() 查询死锁总数。 29 pg_stat_get_db_total_conflict_all() 查询冲突总数。 30 pg_stat_get_db_total_tuples_deleted() 查询删除元组总数。 31 pg_stat_get_db_total_tuples_updated() 查询更新元组总数。 32 pg_stat_get_db_total_tuples_inserted() 查询插入元组总数。 33 pg_stat_get_db_total_tuples_fetched() 查询fetch元组总数。 34 pg_stat_get_db_total_tuples_returned() 查询return元组总数。 35 pg_stat_get_db_total_blocks_hit() 查询内存命中数据块总数。 36 pg_stat_get_db_total_blocks_fetched() 查询读取数据块总数。 37 pg_stat_get_db_total_xact_rollback() 查询rollback事务总数。 38 pg_stat_get_db_total_xact_commit() 查询commit事务总数。 39 pg_stat_get_db_total_numbackends() 查询当前backend总数。 40 gs_encrypt() 加密函数。 41 gs_decrypt() 解密函数。 42 gs_hash() 哈希函数。 43 gs_password_expiration() 查询当前用户的密码剩余时间(对应系统表pg_authid中的rolpwdtime和rolpwdexpire)。 44 to_char(date) 新增to_char(date)函数,兼容TD模式下to_char处理date类型时间戳的返回格式。 45 gs_wlm_set_queryband_action 设置query_band负载行为。 46 gs_wlm_set_queryband_order 设置query_band搜索优先级。 47 gs_wlm_get_queryband_action 查询query_band负载行为。 48 CONCAT 新增MYSQL兼容规则,入参含NULL则返回NULL。 49 TIMESTAMPDIFF 支持TIMESTAMPDIFF函数返回指定单位的时间差。 50 TO_DAYS 支持TO_DAYS函数返回输入时间到0的天数差 51 DATE_FORMAT 支持DATE_FORMAT函数用于将输入日期时间转化为指定格式的字符串,格式为%开头的MYSQL形式。 52 IF 实现IF函数,根据首个输入返回对应值。 53 IFNULL 实现IFNULL函数,返回首个非NULL值。 54 ISNULL 实现ISNULL函数,判断输入是否为NULL。 修改 55 pg_resume_bkp_flag 用于备份恢复获取delay ddl标志。 56 pg_query_audit 审计日志记录新增五个字段:begintime、operation_type、command_text、transaction_xid、query_id;变更原字段:将原time变更为endtime,将原type变更为audit_type。另将原detail_info下存放的操作命令移至command_text,而detail_info存放命令执行结果。 57 pg_delete_audit 基于安全考虑,不允许提供删除审计日志的接口,调用此函数将直接报错。 58 log() 对数函数,ora/td模式下表现为底为10的对数,mysql兼容模式下表现为自然对数。 59 to_number to_number函数原来调用numeric_in函数,现修改成调用to_number函数,兼容TD模式下to_number函数空串处理返回null。 60 left() 字符串截取,当入参是负数时,ora/td模式下返回除最后|n|个字符以外的所有字符,mysql兼容模式下返回空串。 61 right() 字符串截取,当入参是负数时,ora/td模式下返回除前|n|个字符以外的所有字符,mysql兼容模式下返回空串。 62 last_day 入参增加timestamptz类型,mysql兼容模式下返回类型处理为date类型,ora/td模式返回timestamp。 63 next_day 入参增加timestamptz类型,mysql兼容模式下返回类型处理为date类型,ora/td模式返回timestamp。 64 add_months 入参增加timestamptz类型,mysql兼容模式下返回timestamptz类型,ora/td模式返回timestamp类型。 65 add_months 入参增加date类型,mysql兼容模式下返回date类型,ora/td模式返回timestamp类型。 66 pg_cbm_recycle_file 增加参数,支持备份和容灾并行特性对cbm的回收支持。 67 pgxc_query_audit 新增字段:begintime、operation_type、command_text、transaction_xid、query_id;修改原字段:将原time变更为endtime,将原type变更为audit_type。另将原detail_info下存放的操作命令移至command_text,而detail_info存放命令执行结果。 68 login_audit_messages 增强审计日志特性适配。 删除 69 add_policy/drop_policy/alter_policy/enable_policy/disable_policy 删除脱敏旧的接口。
  • 关键字 表3 关键字 变更类型 序号 名称 变更描述 新增 1 TIMESTAMPDIFF 新增关键字为COL_NAME_KEYWORD。 2 IFNULL 新增关键字为COL_NAME_KEYWORD。 3 REFRESH 非保留关键字。 修改 4 IF 由UNRESERVED_KEYWORD改为COL_NAME_KEYWORD。 5 ISNULL 由UNRESERVED_KEYWORD改为COL_NAME_KEYWORD。 6 VERIFY 由保留关键字变为非保留关键字。
  • SQL语法 表2 SQL语法 变更类型 序号 名称 变更描述 新增 1 LIMIT offset,count 支持LIMIT offset,count语法。 2 EXPLAIN(STATS ON)... 支持EXPLAIN(STATS ON)... 语法,用于导出计划复现的相关信息。 3 CREATE/ALTER/DROP REDACTION POLICY 新增脱敏DDL语法。 4 INSERT IGNORE INTO INSERT INTO ON DUPLICATE KEY UPDATE INSERT INTO ON CONFLICT DO UPDATE INSERT INTO ON CONFLICT DO NOTHING 支持UPSERT功能。 5 INSERT OVERWRITE INTO INSERT OVERWRITE覆盖导入功能。 6 ALTER TABLE REFRESH STORAGE 进行冷热表的冷热切换,将热数据变冷。 7 ALTER VIEW ONLY view_name REBUILD alter view only viewname REBUILD。 8 ALTER SERVER REFRESH 用于HDFS配置变动时,刷新HDFS SERVER的配置文件。 修改 9 操作符^ MySQL兼容模式下处理为异或,ora/td模式为幂运算。 10 MERGE INTO MERGE INTO语句的目标表上包含触发器时报错。 11 CREATE/ALTER Table 新增Reloptions中cold_tablespace和storage_policy冷热表相关的选项。
  • 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_ft_dop,默认关闭),并行导出会消耗更多的CPU和内存资源。 - 支持insert overwrite 支持全表和单分区的insert overwrite。 INSERT 支持读取HiveMetaStore统计信息 External Schema表支持读取HiveMetaStore统计信息。 - 存算分离 异步读优化 优化异步读的效果。 - 存算分离表数据导入支持并行 OBS存算分离表数据导入支持并行(需打开enable_insert_dop,默认关闭),并行导出会消耗更多的CPU和内存资源。 - OBS存算分离表支持insert overwrite OBS存算分离表支持insert overwrite INSERT 本地disk cache支持冷热设置 本地disk cache支持冷热设置,不同分区可配置不同的缓存策略。 - 引擎增强 列存支持jsonb/json类型 列存支持jsonb/json类型。 -
  • 版本收编策略 表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.105。 不支持跨多版本直接升级到9.1.0.105,先升级到9.0.3,再升级到9.1.0.105。支持在控制台升级,参见升级集群。 9.0.3/9.1.0.x 否 建议升级到9.1.0.105。 支持直接升级到9.1.0.105,建议联系技术支持评估后升级,支持在控制台升级,参见升级集群。
  • 版本生命周期 表1给出了 GaussDB (DWS)版本生命周期(仅体现发布号),帮助您规划自己的版本更新节奏。 对于已经停止服务与支持(EOS)的版本或非推荐版本,建议参见版本收编策略升级到最新稳定版本。 表1 GaussDB(DWS)版本生命周期 版本名称 状态 发布时间 EOM时间(停止销售) EOS时间(停止服务与支持) 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月 2025年9月30日 2027年3月30日 8.2.0.x 已发布 2022年11月30日 2025年9月30日 2027年3月30日 8.1.3.x 已发布 2022年04月15日 2024年6月30日 2025年12月31日 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年7月31日 2023年6月30日 2024年12月31日
  • 系统视图 表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 CPU/内存资源使用和限制全部修改为用户在集群内的资源使用和资源限制。 CPU、IO、内存监控规格变更:由只监控复杂作业修改为监控所有作业。 CPU监控逻辑变更:由cgroup监控修改为作业CPU监控汇总。 5 审计日志 事务内语句在未设置审计事务但设置审计对应语句类型时,仍进行审计。 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,新装、升级均会修改。参数表示客户端和服务端密码哈希迭代次数。
  • 系统函数 表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。
共99354条