VastbaseG100

基于openGauss内核开发的企业级关系型数据库。

Menu

V2.2 Build 3

Vastbase V2.2 Build 3.14

发布日期

2021年08月05日

影响范围

聚集SQL中rownum未出现在group by clause的情况

新特性

缺陷修复

1、 【CRM_ID SC2021000298】修复了聚集SQL中rownum未出现在group by clause报错的问题

更新步骤

V2.2.2升级到V2.2.3

注意:

所有用户自定义的对象和数据都需要从旧库导出,再导入到新库。

目前导出数据有一个缺陷,导出用户自定义包会失败,请在导入数据后,手动建包。

1、 使用vb_dump导出所有对象和数据。

2、 使用数据库安装程序安装新的数据库。

3、 开启数据库。

4、 使用vb_restore导入步骤#1中的备份数据到新库中。

V2.2.3.x升级到V2.2.3.14

注意:

建议重新初始化数据库实例,若实在不允许,才执行以下升级方法。

1.停止数据库。

2.解压安装包,把bin、include、lib、share四个目录替换到数据库安装目录下。

3.开启数据库。

注:替换前先备份原文件,该操作只替换文件,不删除文件,原来安装的插件一般不会受到影响。


Vastbase V2.2 Build 3.13

影响范围

数据库启动

新特性

缺陷修复

1、 修复了当语言环境为中文的情况下,设置绑核参数后,启动失败的问题


Vastbase V2.2 Build 3.12

发布日期

2021年07月06日

影响范围

union、union all

新特性

缺陷修复

1、修复union、union all部分连接查询导致数据库coredump的问题。

更新步骤

V2.2.2升级到V2.2.3

注意:

所有用户自定义的对象和数据都需要从旧库导出,再导入到新库。

目前导出数据有一个缺陷,导出用户自定义包会失败,请在导入数据后,手动建包。

1、 使用vb_dump导出所有对象和数据。

2、 使用数据库安装程序安装新的数据库。

3、开启数据库。

4、 使用vb_restore导入步骤#1中的备份数据到新库中。

V2.2.3.x升级到V2.2.3.12

注意:

建议重新初始化数据库实例,若实在不允许,才执行以下升级方法。

1、 停止数据库。

2、 解压安装包,把bin、include、lib、share四个目录替换到数据库安装目录下。

3、 开启数据库。

注:替换前先备份原文件,该操作只替换文件,不删除文件,原来安装的插件一般不会受到影响。


Vastbase V2.2 Build 3.11

影响范围

自治事务

特性优化

1、 优化自治事务中锁的使用

2、 添加自治事务函数中使用游标作为参数的限制

缺陷修复

1、 修复并行执行多个含有自治事务函数的SQL,导致数据库宕机的问题


Vastbase V2.2 Build 3.10

影响范围

使用pg_stat_statements,带有rownum的语句

缺陷修复

1、 修复pg_stat_statements不支持rownum的问题


Vastbase V2.2 Build 3.9

发布日期

2021年06月25日

影响范围

汉化场景下,调用函数时传入的参数与函数自带参数个数不匹配时的执行效果

新特性

缺陷修复

1、 修复汉化环境下调用函数导致数据库宕机的问题

更新步骤

V2.2.2升级到V2.2.3

注意:

所有用户自定义的对象和数据都需要从旧库导出,再导入到新库。

目前导出数据有一个缺陷,导出用户自定义包会失败,请在导入数据后,手动建包。

1、 使用vb_dump导出所有对象和数据。

2、 使用数据库安装程序安装新的数据库。

3、 开启数据库。

4、 使用vb_restore导入步骤#1中的备份数据到新库中。

V2.2.3.x升级到V2.2.3.9

注意:

建议重新初始化数据库实例,若实在不允许,才执行以下升级方法。

1、 停止数据库。

2、 解压安装包,把bin、include、lib、share四个目录替换到数据库安装目录下。

3、 开启数据库。

注:替换前先备份原文件,该操作只替换文件,不删除文件,原来安装的插件一般不会受到影响。


Vastbase V2.2 Build 3.8

影响范围

months_between函数 备份package body

缺陷修复

1、 修复vb_dump备份数据库时无法备份包下的函数的问题

2、 修复months_between无法传入varchar类型的问题

注意事项

关于months_between无法传入varchar类型的问题,需要重新初始化数据库,如果不能初始化库,可以替换安装目录,然后在每个DB下执行以下SQL:

CREATE OR REPLACE FUNCTION pg_catalog.months_between(TIMESTAMP WITH TIME ZONE,varchar)
RETURNS NUMERIC
AS $$
SELECT months_between($1,$2::pg_catalog.timestamp);
$$
LANGUAGE SQL IMMUTABLE STRICT NOT FENCED;


Vastbase V2.2 Build 3.7

发布日期

2021年06月24日

影响范围

pgbench

新特性

新增PGBench、PGHack、pageinspect工具

缺陷修复

更新步骤

V2.2.2升级到V2.2.3

注意:

所有用户自定义的对象和数据都需要从旧库导出,再导入到新库。

目前导出数据有一个缺陷,导出用户自定义包会失败,请在导入数据后,手动建包。

1、 使用vb_dump导出所有对象和数据。

2、 使用数据库安装程序安装新的数据库。

3、 开启数据库。

4、 使用vb_restore导入步骤#1中的备份数据到新库中。

V2.2.3.x升级到V2.2.3.7

注意:

建议重新初始化数据库实例,若实在不允许,才执行以下升级方法。

1、 停止数据库。

2、 解压安装包,把bin、include、lib、share四个目录替换到数据库安装目录下。

3、 开启数据库。

注:替换前先备份原文件,该操作只替换文件,不删除文件,原来安装的插件一般不会受到影响。


Vastbase V2.2 Build 3.6

发布日期

2021年06月23日

影响范围

自动提交 汉化功能

新特性

缺陷修复

1、 自动提交调整为默认开启

2、 修复因汉化导致操作系统和数据库collate不一致索引扫描查询不到数据的问题

更新步骤

V2.2.2升级到V2.2.3

注意:

所有用户自定义的对象和数据都需要从旧库导出,再导入到新库。

目前导出数据有一个缺陷,导出用户自定义包会失败,请在导入数据后,手动建包。

1、 使用vb_dump导出所有对象和数据。

2、 使用数据库安装程序安装新的数据库。

3、 开启数据库。

4、 使用vb_restore导入步骤#1中的备份数据到新库中。

V2.2.3.x升级到V2.2.3.6

注意:

建议重新初始化数据库实例,若实在不允许,才执行以下升级方法。

1、 停止数据库。

2、 解压安装包,把bin、include、lib、share四个目录替换到数据库安装目录下。

3、 开启数据库。

注:替换前先备份原文件,该操作只替换文件,不删除文件,原来安装的插件一般不会受到影响。


Vastbase V2.2 Build 3.5

影响范围

查询分区数据

缺陷修复

1、 修复查询分区数据时,对分区加了AccessExclusiveLock导致死锁的问题


Vastbase V2.2 Build 3.4

发布日期

2021年06月23日

影响范围

安装程序 分区表

新特性

缺陷修复

1、 调整安装程序,使数据库实例化时,保证数据库排序设置collate与操作系统环境变量LC_ALL一致。

2、 修复一个分区表中的两个分区被同时查询而产生死锁的问题。

更新步骤

V2.2.2升级到V2.2.3

注意:

所有用户自定义的对象和数据都需要从旧库导出,再导入到新库。

目前导出数据有一个缺陷,导出用户自定义包会失败,请在导入数据后,手动建包。

1、 使用vb_dump导出所有对象和数据。

2、 使用数据库安装程序安装新的数据库。

3、 开启数据库。

4、 使用vb_restore导入步骤#1中的备份数据到新库中。

V2.2.3.x升级到V2.2.3.4

注意:

建议重新初始化数据库实例,若实在不允许,才执行以下升级方法。

1、停止数据库。

2、解压安装包,把bin、include、lib、share四个目录替换到数据库安装目录下。

3、开启数据库。

注:替换前先备份原文件,该操作只替换文件,不删除文件,原来安装的插件一般不会受到影响。


Vastbase V2.2 Build 3.3

发布日期

2021年05月28日

新特性

1、 支持vb_ctl build指定-M 参数,实现build操作成功后,数据库以指定的servermode启动。

更新步骤

V2.2.2升级到V2.2.3

注意:

所有用户自定义的对象和数据都需要从旧库导出,再导入到新库。

目前导出数据有一个缺陷,导出用户自定义包会失败,请在导入数据后,手动建包。

1、 使用vb_dump导出所有对象和数据。

2、 使用数据库安装程序安装新的数据库。

3、 开启数据库。

4、 使用vb_restore导入步骤#1中的备份数据到新库中。

V2.2.3.x升级到V2.2.3.3

注意:

建议重新初始化数据库实例,若实在不允许,才执行以下升级方法。

1.停止数据库。 2.解压安装包,把bin、include、lib、share四个目录替换到数据库安装目录下。 3.开启数据库。

注:替换前先备份原文件,该操作只替换文件,不删除文件,原来安装的插件一般不会受到影响。


Vastbase V2.2 Build 3.2

影响范围

DBMS_UTILITY.COMMA_TO_TABLE

hint的使用

新特性

1、 支持select * from table(dbms_xplan.display) 查询格式化的执行计划内容。

2、 支持set serveroutput on命令设置环境变量serveroutput为打开状态,使函数dbms_output.put_line()可以输出参数的值。但默认不开启,可通过在postgresql.conf中添加serveroutput=on改为默认开启

3、 修改语法,支持set var_name var_value语法

4、 修改hint语法,支持逗号分隔符

缺陷修复

1、 修复函数table_to_comma/comma_to_table输出行开头有空格的问题

2、 修复explain plan for …/+ use_nl(e, d)/报错的问题

注意事项

关于视图dbms_xplan.display的使用需要重新初始化数据库,如果不能初始化库,可以替换安装目录,然后在每个DB下执行以下SQL:

--创建schema
create schema dbms_xplan;

--打开dbms_xplan.display视图
create view dbms_xplan.display as
	select id-1 as id,
		operation,
		options,
		object_name as name,
		object_type,
		object_owner,
		projection
	FROM plan_table
	WHERE plan_table.plan_id = 
		(SELECT
			max(plan_table.plan_id)
		FROM plan_table
		);

使用table_to_comma/comma_to_table去除输出开头空格的功能需要重新初始化库。如果不能初始化库,可以替换安装目录,然后在每个DB下执行以下SQL:

--DBMS_UTILITY.COMMA_TO_TABLE
create or replace function DBMS_UTILITY.COMMA_TO_TABLE(list VARCHAR2, out tablen BINARY_INTEGER, out tab VARCHAR2[]) as $$
begin
	tab:= string_to_array(list, ',');
	tablen:= array_length(tab, 1);
	--去除收尾空格
	FOR i IN 1..tablen LOOP
		tab[i] = trim(tab(i));
	END LOOP;
end;
$$ LANGUAGE plpgsql;


Vastbase V2.2 Build 3.1

发布日期

2021年05月18日

影响范围

HASH/LIST/RANGE分区表查询(一级分区、二级分区)

缺陷修复

1、修复一级分区partitionKey is null为条件时,执行计划过滤分区有误的问题

2、 修复包含二级分区表时,查询未按查询条件过滤分区的问题

注意事项

V2.2.3分区表数据字典与V2.2.2分区表不兼容,已创建的分区表不能使用,请重新处理。

更新步骤

V2.2.2升级到V2.2.3

注意:

所有用户自定义的对象和数据都需要从旧库导出,再导入到新库。

目前导出数据有一个缺陷,导出用户自定义包会失败,请在导入数据后,手动建包。

1、 使用vb_dump导出所有对象和数据。

2、使用数据库安装程序安装新的数据库。

3、 开启数据库。

4、 使用vb_restore导入步骤#1中的备份数据到新库中。

V2.2.3.0升级到V2.2.3.1

1、停止数据库。

2、解压安装包,把bin、include、lib、share四个目录替换到数据库安装目录下。

3、开启数据库。

注:替换前先备份原文件,该操作只替换文件,不删除文件,原来安装的插件一般不会受到影响。


Vastbase V2.2 Build 3.0

发布日期

2021年04月29日

新特性

1、 支持自治事务传入参数

2、 支持聚合函数嵌套使用

3、 支持PERCENTILE_CONT函数over功能

4、 支持二级分区

5、 支持存储过程自治事务的嵌套使用

6、 支持存储过程自治事务,涵盖:触发器以及匿名块

7、 集成和完善pg_probackup工具,支持增量备份、基于时间点恢复能力

8、 支持定时任务的调用及管理功能,管理包括定时任务的修改及删除等

9、 支持select for update wait n语句

10、 数据库事务默认非自动提交

11、 EAL4 - 安全审计 - 选择性审计+审计数据可用性保证+防止审计数据丢失

  • 如果审计记录已满,应停止各种审计(支持对原有审计数据的查询)

  • 根据操作(执行)的结果进行分类选择审计

  • 按用户身份进行选择性审计

12、 EAL4 - 安全审计 - 安全审计查阅

  • 审计查询结果中包含数据库权限字段

13、 EAL4 - 安全审计 - 审计数据产生

  • 审计会话被拒绝连接事件(IP不符|未在时间段内)

  • 审计安全标签相关操作(CREATE|SECURITY ON|DROP)

14、 EAL4 - TOE访问

  • 多重并发会话的基本限定

15、 EAL4 - 用户数据保护

  • 支持存储过程和触发器应用安全标签的语法及功能

  • 支持不带安全属性的用户数据输入

  • 支持带有安全属性的用户数据输出

16、 新增Oracle兼容性功能

  • 支持视图DBA_MVIEWS

  • 支持内置函数instrb

  • 支持内置函数tz_offset

  • 支持内置分析函数ratio_to_report

  • 支持内置函数to_multi_byte/to_single_byte

  • 支持内置函数vsize

  • 支持按字符计算char、varchar、varchar2类型长度

  • 支持内置包DBMS_UTILITY - 函数:COMMA_TO_TABLE/TABLE_TO_COMMA,类型:lname_array/name_array/uncl_array

  • 支持内置包UTL_RAW - 函数:CAST_TO_RAW/CAST_TO_VARCHAR2

  • 支持内置包DBMS_OBFUSCATION_TOOLKIT - 函数:DESENCRYPT/DESDECRYPT/DESGETKEY/DES3ENCRYPT/DES3DECRYPT/DES3GETKEY/MD5

  • 支持内置包DBMS_LOCK - 函数:allocate_unique/convert/release/request/sleep

  • 支持内置包DBMS_CRYPTO - 函数:ENCRYPT/DECRYP/Hash/MAC/RANDOMBYTES/RANDOMINTEGER/RANDOMNUMBER

  • 支持内置包DBMS_PROFILER - 函数:start_profiler/stop_profiler/pause_profiler/resume_profiler/flush_data/get_version/internal_version_check/rollup_unit/rollup_run

  • 支持内置包内置包DBMS_APPLICATION_INFO - 函数:SET_CLIENT_INFO/SET_MODULE/SET_ACTION/READ_MODULE,视图:V$SESSION

缺陷修复

1、 修复数据库配置文件参数shared_preload_libraries缺少配置jdbc_fdw,创建jdbc_fdw扩展时导致数据库崩溃的问题

2、 修复order by和count不能连用的问题

3、 修复系统管理员创建出的用户默认具有sysadmin属性的问题

4、 修复软件适配性能问题 - 连接时查找主机名时间较长;机械硬盘双写效率低下

5、 修复事务自动提交开关关闭后,安全管理员创建敏感标签失败,提示无权限的问题

6、 修复vsql连接数据库,不指定数据库名会导致vsql程序崩溃的问题

7、 修复加载TPCC测试数据到集群中,导致数据库崩溃的问题

8、 修复jdbc环境中设置audit_user参数为部分用户,切换用户时导致数据库宕机的问题

9、 修复plpgsql函数处理异常时coredump的问题

10、 聚合函数+rownum,查询结果不对的问题