9 月 26 日,IvorySQL 3.4 发版。本文将带大家快速了解新版本特性。
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 多平台发布