IvorySQL 3.4 来了

9 月 26 日,IvorySQL 3.4 发版。本文将带大家快速了解新版本特性。

alt

IvorySQL 3.4 发版说明

IvorySQL 3.4 基于 PostgreSQL 16.4,修复了多个问题,并增强多项功能。

PostgreSQL 16.4 的变更

  • 在未经授权时防止 pg_dump 执行,并引入一个新的服务器参数 restrict_nonsystem_relation_kind
  • 避免归并右反连接计划产生错误结果
  • 防止 VACUUM 中出现无限循环
  • 修复在将表作为分区附加后失败的问题,前提是该表之前有继承子表
  • 修复了 time 和 timetz 类型的 ISO-8601 “扩展”时间格式的输入

更多细节, 请参阅 PostgreSQL 发布说明。

https://www.postgresql.org/docs/release/16.4/

IvorySQL 3.4 的功能增强及问题修复

  • 新增 Oracle sequence 功能: issues#588
  • 支持 xmlisvalid 函数: issues#695
  • 在 Oracle 模式下为字符类型限制设置为2000: issues#561
  • 支持使用 SQL 命令 ALTER TABLE ADD (CONSTRAINT …​) 向现有表添加约束: issues#612
  • 支持以下函数 TO_MULTI_BYTE(), TO_SINGLE_BYTE(), ASCIISTR(), COMPOSE(), DECOMPOSE(): issues#609
  • docker_library 项目现已支持 Debian 的 X86 和 ARM 架构: issues#16

贡献人员

以下个人(按姓氏排序)作为补丁作者、提交者、审查者、测试者或问题报告者为此版本做出了贡献。

  • Cary Huang
  • Chase Wu
  • Grant Zhou
  • Håkan Arpfors
  • Imran Zaheer
  • Leo X.M. Zeng
  • ShanInfo
  • 冯磊
  • 高雪玉
  • 郭新源
  • 矫顺田
  • 梁翔宇
  • 吕新杰
  • 牛世继
  • 彭冲
  • 任娇
  • 尚雷
  • 王丽
  • 王守波
  • 文一
  • 严少安
  • 周家杰

在 Rocky Linux 9.4 上编译安装 IvorySQL 3.4

操作系统已更新至 Rocky Linux 9.4 最新版。

[shawnyan@rl9 ~]$ cat /etc/redhat-release
Rocky Linux release 9.4 (Blue Onyx)
[shawnyan@rl9 ~]$ uname -a
Linux rl9.shawnyan.cn 5.14.0-427.35.1.el9_4.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Sep 12 18:24:53 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux

编译过程基本与之前文章 IvorySQL v3.0 新特性浅测 中的描述一致,编译时建议增加选项 --with-libxml 以支持 XML 相关特性。

安装完成后启动 IvorySQL 数据库,并连接到数据库查看版本。

[ivorysql@rl9 ~]$ psql
psql (16.4-ShawnYan)
Type "help" for help.

ivorysql=# select version();
                                                             version
----------------------------------------------------------------------------------------------------------------------------------
 PostgreSQL 16.4-ShawnYan (IvorySQL 3.4) on x86_64-pc-linux-gnu, compiled by gcc (GCC) 11.4.1 20231218 (Red Hat 11.4.1-3), 64-bit
(1 row)

IvorySQL 3.4 新特性浅测

1. 创建序列

序列是用于生成唯一整数的数据库对象,可使用 CREATE SEQUENCE 命令创建序列。大多数情况下,你只需指定序列名称并使用所有序列属性的默认值,或者将 CACHE 属性增加到默认值 20 以上以提高性能。

ivorysql=# create sequence s1
start with 100
increment by 1
maxvalue 1000
cycle
cache 10
;
CREATE SEQUENCE
ivorysql=# \d s1
                           Sequence "public.s1"
      Type       | Start | Minimum | Maximum | Increment | Cycles? | Cache
-----------------+-------+---------+---------+-----------+---------+-------
 pg_catalog.int8 |   100 |       1 |    1000 |         1 | yes     |    10

ivorysql=#

2. XMLISVALID 函数

XMLISVALID 检查入参是否符合相关的 XML 模式。

ivorysql=# SELECT xmlisvalid(XMLTYPE('<a/>'));
xmlisvalid
------------
t
(1 row)

更多细节参考:

  • https://docs.ivorysql.org/cn/ivorysql-doc/v3.4/v3.4/26#xmlisvalid
  • https://docs.oracle.com/en/database/oracle/oracle-database/23/sqlrf/XMLISVALID.html

其他

需要注意的是,IvorySQL 项目的支持邮件群组升级为 support@ivorysql.org ,如有任何建议请联络新地址。

本文由 mdnice 多平台发布

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值