发布日期:. 2022年6月30日
支持快速升级的补丁,请参见 lt_patch。
添加可加载的PL/oraSQL过程语言,请参见 pl-sql。
lt_hint_plan增强。
添加三个新提示:use_hash
、use_nl
、full
,
语义与Oracle一致。
提示中的表名不区分大小写。
提示 parallel
的默认值是hard,并且不支持表规范。
当子查询只有一个表时,提示可以应用于子查询的表。
EXPLAIN (COSTS false) select /*+use_hash(t1 y)*/* from t1,(select * from t2) y where t1.id=y.id; QUERY PLAN ------------------------------------ Hash Join Hash Cond: (t1.id = t2.id) -> Seq Scan on t1 @"lt#0" -> Hash -> Seq Scan on t2 @"lt#1" (5 rows)
支持用户定义类型优先级以获得更好的函数和运算符匹配,请参见 类型兼容。
支持使用 CREATE TABLE DISTRIBUTED BY
创建分布式表(依赖于扩展canopy
),请参见
CREATE TABLE。
create table dist1(a int, b int) distributed by hash(a) shard_count(4);
Auto-explain执行计划日志以JSON格式打印在单独的日志文件(*.slow)中。
添加扩展 wal2sql,支持与Oracle的实时同步。
lt_dump
支持 --recreate-schema
,以生成删除模式(使用 CASCADE
模式)命令以获得更好的性能,请参见
lt_dump。
客户端应用程序和 libpq支持 LightDB环境变量。
sysdate
和systimestamp
表示语句开始时间。
lightdb@postgres=# begin; BEGIN lightdb@postgres=*# select sysdate from dual; sysdate --------------------- 2022-06-28 19:44:15 (1 row) lightdb@postgres=*# select sysdate from dual; sysdate --------------------- 2022-06-28 19:44:16 (1 row) lightdb@postgres=*# end; COMMIT
有关详细信息,请参见 datetime。
支持保序加密,请参阅 lt_ope。
新增以下平台支持:
架构 | 操作系统 |
---|---|
龙芯架构 | 麒麟V10(SP1) |
x86_64 | Rocky Linux |
aarch64 | Rocky Linux |
添加集群控制工具lightdb_service.py
,以方便在高可用性和分布式环境中启动和停止服务。
启动集群:
lightdb_service.py -c start
停止集群:
lightdb_service.py -c stop
PWR中的值0显示为空,请参阅 lt_profile了解详细信息。
在非分布式安装中,未安装canopy
扩展。
重新启动
keepalived和
ltcluster
时,将生成新的日志文件,以避免与旧日志混淆。
lt_initdb不限制选项的顺序。
修复在
lt_show_plans中进行并行查询时,偶尔会出现
cannot assign XIDs during a parallel operation
错误的问题。
发布基于PostgreSQL的JDBC驱动程序库。
Maven仓库
<dependency> <groupId>io.github.hslightdb</groupId> <artifactId>lightdb-jdbc</artifactId> <version>42.2.30</version> </dependency>
我们修复了一些问题并增强了数据类型兼容性:
修复:在自动提交模式下,fetchSize不会生效,导致整个数据被加载到内存中,引发内存不足问题。
支持Oracle匿名块语法(请参阅 pl-sql)。
支持与Oracle兼容的to_number()
函数。
支持将numeric
数据类型转换为Java Long。
支持将char(1)
数据类型转换为Java Character。
修复Java setDouble在numeric
字段上操作时精度丢失的问题。
lt_cron支持Linux命令。
SELECT cron.schedule('dayly-touch', '59 23 * * *', 'rm -rf $LTDATA/log/*', 'next', '8', 'linux');
内置工具应用程序 lvs,用于在分布式多CN环境中进行负载均衡。
内置工具应用程序 postgresrest。
在安装目录和实例目录中更改了文件命名规则。
public
模式中的扩展对象都被移动到lt_catalog
模式中。
RPM依赖项已经打包进了安装包中。
在分布式环境中支持 merge into。