Skip to content

Commit 1ffe5e8

Browse files
committed
update for ivorysql 5.0
1 parent dbf7426 commit 1ffe5e8

8 files changed

Lines changed: 531 additions & 158 deletions

File tree

CN/modules/ROOT/nav.adoc

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@
4141
*** 兼容框架
4242
**** xref:master/7.1.adoc[框架设计]
4343
**** xref:master/7.2.adoc[GUC框架]
44+
**** xref:master/7.4.adoc[双模式设计]
4445
**** xref:master/6.2.1.adoc[initdb过程]
4546
*** 兼容特性
4647
**** xref:master/6.3.1.adoc[like]
@@ -61,25 +62,24 @@
6162
*** xref:master/6.5.adoc[国标GB18030]
6263
** Oracle兼容功能列表
6364
*** xref:master/7.3.adoc[1、大小写转换]
64-
*** xref:master/7.4.adoc[2、双模式设计]
65-
*** xref:master/7.5.adoc[3、LIKE操作符]
66-
*** xref:master/7.6.adoc[4、匿名块]
67-
*** xref:master/7.7.adoc[5、函数与存储过程]
68-
*** xref:master/7.8.adoc[6、内置数据类型与内置函数]
69-
*** xref:master/7.9.adoc[7、端口与IP]
70-
*** xref:master/7.10.adoc[8、XML函数]
71-
*** xref:master/7.11.adoc[9、sequence]
72-
*** xref:master/7.12.adoc[10、包]
73-
*** xref:master/7.13.adoc[11、不可见列]
74-
*** xref:master/7.14.adoc[12、RowID]
75-
*** xref:master/7.15.adoc[13、OUT 参数]
76-
*** xref:master/7.16.adoc[14、%TYPE、%ROWTYPE]
77-
*** xref:master/7.17.adoc[15、NLS 参数]
78-
*** xref:master/7.18.adoc[16、Force View]
79-
*** xref:master/7.19.adoc[17、嵌套子函数]
80-
*** xref:master/7.20.adoc[18、sys_guid 函数]
81-
*** xref:master/7.21.adoc[10、空字符串转null]
82-
*** xref:master/7.22.adoc[20、CALL INTO]
65+
*** xref:master/7.5.adoc[2、LIKE操作符]
66+
*** xref:master/7.6.adoc[3、匿名块]
67+
*** xref:master/7.7.adoc[4、函数与存储过程]
68+
*** xref:master/7.8.adoc[5、内置数据类型与内置函数]
69+
*** xref:master/7.9.adoc[6、端口与IP]
70+
*** xref:master/7.10.adoc[7、XML函数]
71+
*** xref:master/7.11.adoc[8、sequence]
72+
*** xref:master/7.12.adoc[9、包]
73+
*** xref:master/7.13.adoc[10、不可见列]
74+
*** xref:master/7.14.adoc[11、RowID]
75+
*** xref:master/7.15.adoc[12、OUT 参数]
76+
*** xref:master/7.16.adoc[13、%TYPE、%ROWTYPE]
77+
*** xref:master/7.17.adoc[14、NLS 参数]
78+
*** xref:master/7.18.adoc[15、Force View]
79+
*** xref:master/7.19.adoc[16、嵌套子函数]
80+
*** xref:master/7.20.adoc[17、sys_guid 函数]
81+
*** xref:master/7.21.adoc[18、空字符串转null]
82+
*** xref:master/7.22.adoc[19、CALL INTO]
8383
** IvorySQL贡献指南
8484
*** xref:master/8.1.adoc[社区贡献指南]
8585
*** xref:master/8.2.adoc[asciidoc语法快速参考]

CN/modules/ROOT/pages/master/1.adoc

Lines changed: 178 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -4,78 +4,201 @@
44

55
== 版本概览
66

7-
[**发行日期:2025年11月25日**]
7+
[*发布日期:2025 年 11 月 25 日*]
88

9+
IvorySQL 5.0 基于 PostgreSQL 18.0,带来更强的 Oracle 兼容能力、PL/iSQL 增强以及全新的全球化特性,同时对打包、自动化和工具链进行全面更新。
10+
有关完整更新列表,请访问我们的 https://docs.ivorysql.org/[文档站点]。
911

10-
IvorySQL 5.0,基于PostgreSQL 18.0,并修复了多个问题。有关更新的完整列表,请访问我们的 https://docs.ivorysql.org/[文档网站] 。
11-
12-
== 增强功能及问题修复
12+
== 增强内容
1313

1414
- PostgreSQL 18.0
1515

16-
1. 修复了在检查声明为 GB18030 编码的无效字符串时,可能发生的一字节缓冲区超读(one-byte buffer overread)问题,增强了系统处理无效编码数据的稳健性。
17-
2. 确保对分区表上存在的自引用外键(self-referential foreign keys)进行正确处理,提升了复杂数据结构下分区表的可靠性。
18-
3. 避免了在 brin_bloom_union() 函数中合并已压缩的 BRIN 摘要(summaries)时,可能发生的数据丢失风险,保障了索引数据的准确性。
19-
4. 修正了在嵌套 WITH 子句中的 INSERT/UPDATE/DELETE/MERGE 命令所附带的 WITH 子句内,对外部公共表表达式(CTE)名称引用时的处理逻辑,确保了复杂查询的正确执行。
20-
5. 修复了 ALTER TABLE ADD COLUMN 命令,以确保在添加列时,能够正确处理包含默认值的域(domain)类型,提高了表结构变更操作的准确性
16+
1. 新增异步 I/O(AIO)子系统,可提升顺序扫描、位图堆扫描、vacuum 等操作的性能。
17+
2. pg_upgrade 现在会保留优化器统计信息。
18+
3. 支持 "skip scan" 查找,使多列 B-tree 索引能够在更多场景下使用。
19+
4. 提供用于生成按时间排序 UUID 的 uuidv7() 函数。
20+
5. 支持虚拟生成列(在读取时计算值),并将其设为生成列的默认模式。
21+
6. 增加 OAuth 认证能力。
22+
7. 在 INSERT、UPDATE、DELETE 和 MERGE 的 RETURNING 子句中支持 OLD 和 NEW。
23+
8. 对 PRIMARY KEY、UNIQUE 与 FOREIGN KEY 引入时间区间约束。
24+
25+
更多细节请参阅 https://www.postgresql.org/docs/release/18.0/[PostgreSQL 18.0 发布说明]。
26+
27+
== 新特性
28+
=== 新增21 项 Oracle 兼容能力
29+
30+
- Oracle 兼容 ROWID:Feature https://github.com/IvorySQL/IvorySQL/issues/126[#126] +
31+
让 IvorySQL 行标识符与 Oracle 语义保持一致,便于跨数据库工具协同。
32+
33+
- PL/iSQL CALL 调用语法:Feature https://github.com/IvorySQL/IvorySQL/issues/764[#764] +
34+
新增 Oracle 风格的 `CALL` 入口,实现存储过程一致的调用体验。
35+
36+
- PL/iSQL `%ROWTYPE`:Feature https://github.com/IvorySQL/IvorySQL/issues/765[#765] +
37+
允许变量复用整张表或游标行的结构,便于紧凑编写 PL/iSQL。
38+
39+
- PL/iSQL `%TYPE`:Feature https://github.com/IvorySQL/IvorySQL/issues/766[#766] +
40+
支持变量继承既有列或变量的类型,降低类型漂移风险。
41+
42+
- 区分大小写兼容开关:Feature https://github.com/IvorySQL/IvorySQL/issues/767[#767] +
43+
在需要时可保留标识符大小写,以匹配 Oracle 行为。
44+
45+
- NLS 参数兼容性:Feature https://github.com/IvorySQL/IvorySQL/issues/768[#768] +
46+
支持 `NLS_DATE_FORMAT`、`NLS_TIMESTAMP_FORMAT` 等 Oracle 风格 NLS 设置。
47+
48+
- 空字符串转 NULL:Feature https://github.com/IvorySQL/IvorySQL/issues/769[#769] +
49+
将长度为零的字符串转换为 NULL,以遵循 Oracle 的兼容规则。
50+
51+
- 解析器切换能力:Feature https://github.com/IvorySQL/IvorySQL/issues/770[#770] +
52+
可在 Oracle 与 PostgreSQL 解析器之间切换,实现会话级灵活性。
53+
54+
- GB18030 数据库编码:Feature https://github.com/IvorySQL/IvorySQL/issues/771[#771] +
55+
为中国市场提供 GB18030 初始化和创建数据库选项。
56+
57+
- Oracle 兼容 `SYS_GUID`:Feature https://github.com/IvorySQL/IvorySQL/issues/773[#773] +
58+
实现 Oracle `SYS_GUID` 函数,生成基于 RAW 的 GUID。
59+
60+
- Oracle 兼容 `SYS_CONTEXT`:Feature https://github.com/IvorySQL/IvorySQL/issues/774[#774] +
61+
提供 Oracle `SYS_CONTEXT` API,用于查询会话与环境元数据。
62+
63+
- Oracle 兼容 `USERENV`:Feature https://github.com/IvorySQL/IvorySQL/issues/775[#775] +
64+
引入 `USERENV` 函数,使会话可检查 Oracle 风格的上下文信息。
65+
66+
- Oracle 兼容函数语法:Feature https://github.com/IvorySQL/IvorySQL/issues/776[#776] +
67+
支持 EDITIONABLE/NONEDITIONABLE、`RETURN`、`IS`、`OUT ... NOCOPY` 等 Oracle 结构。
68+
69+
- Oracle 兼容过程语法:Feature https://github.com/IvorySQL/IvorySQL/issues/777[#777] +
70+
支持包含 Oracle 选项的过程 DDL、EXEC 调用以及 ALTER PROCEDURE。
71+
72+
- libpq OUT 参数传递:Feature https://github.com/IvorySQL/IvorySQL/issues/778[#778] +
73+
扩展客户端协议,使 OUT 参数可像 OCI 一样被消费。
74+
75+
- 过程 OUT 参数:Feature https://github.com/IvorySQL/IvorySQL/issues/779[#779] +
76+
存储过程现在可按 Oracle 约定声明 IN、OUT、IN OUT 模式。
77+
78+
- 函数 OUT 参数:Feature https://github.com/IvorySQL/IvorySQL/issues/780[#780] +
79+
函数支持 Oracle 风格 OUT(含 IN OUT)参数。
80+
81+
- 嵌套子程序:Feature https://github.com/IvorySQL/IvorySQL/issues/781[#781] +
82+
允许在子程序内部定义函数或过程,并支持重载。
83+
84+
- Oracle 兼容 `INSTR`:Feature https://github.com/IvorySQL/IvorySQL/issues/782[#782] +
85+
与 Oracle `INSTR` 行为保持一致,覆盖子串搜索与位置判断。
86+
87+
- Oracle 兼容 FORCE VIEW:Feature https://github.com/IvorySQL/IvorySQL/issues/783[#783] +
88+
允许在引用对象尚未存在时创建视图,重现 Oracle FORCE 选项。
89+
90+
- Oracle 兼容 LIKE 运算符:Feature https://github.com/IvorySQL/IvorySQL/issues/784[#784] +
91+
对齐 Oracle 的通配符语义,确保匹配行为可预测。
92+
93+
=== 在线体验与多平台发行包
94+
95+
- 在线体验:IvorySQL v5.0:Feature https://github.com/IvorySQL/IvorySQL/issues/887[#887] +
96+
上线交互式浏览器环境,用户可实时体验与评估 IvorySQL v5.0,无需安装。
97+
98+
- 全平台打包:Feature https://github.com/IvorySQL/IvorySQL/issues/949[#949] +
99+
为 X86、ARM、MIPS、龙芯架构等平台提供多架构安装介质。
100+
101+
=== 云原生与容器化
102+
103+
- 容器化部署支持(Docker Compose & Docker Swarm):
104+
支持在 Docker Swarm 与 Docker Compose 中部署单实例数据库与高可用集群。
105+
106+
- 容器化部署支持(Kubernetes 基础版):
107+
使用 Helm 在 Kubernetes(K8S)中部署单实例数据库与高可用集群。
108+
109+
- 发布 IvorySQL Operator v5(Kubernetes 进阶版):
110+
Operator v5 适配 IvorySQL v5.0,并同步升级系统组件版本与数据库扩展版本。
111+
112+
- 发布 IvorySQL Cloud v5(统一全生命周期与可视化控制平面):
113+
提供可视化托管控制平面,覆盖订阅、全生命周期编排以及生态集成。
114+
115+
=== 新增 10 个 PostgreSQL 扩展
116+
117+
- pg_cron:Feature https://github.com/IvorySQL/IvorySQL/issues/882[#882] +
118+
通过 pg_cron 集成在数据库层内执行计划任务。
21119

22-
+
120+
- pgAudit:Feature https://github.com/IvorySQL/IvorySQL/issues/929[#929] +
121+
借助 PostgreSQL 标准日志能力输出详尽的会话 / 对象审计记录。
23122

24-
更多细节, 请参阅 https://www.postgresql.org/docs/release/18.0/[PostgreSQL发布说明].
123+
- PostGIS:Feature https://github.com/IvorySQL/IvorySQL/issues/880[#880] +
124+
提供空间数据处理与地理分析能力。
25125

26-
- IvorySQL 5.0
126+
- pgRouting:Feature https://github.com/IvorySQL/IvorySQL/issues/881[#881] +
127+
引入网络与路径分析能力。
27128

28-
1. MIPS 全平台打包支持:特性 https://github.com/IvorySQL/IvorySQL/issues/736[#736]
29-
+
30-
为 MIPS 架构提供多平台介质包,支持国内外主流操作系统,包括 Red Hat、Debian、麒麟、UOS、凝思等。
129+
- PGroonga:Feature https://github.com/IvorySQL/IvorySQL/issues/879[#879] +
130+
增强全文检索。
31131

32-
2. 新增IvorySQL 在线体验平台:特性 https://github.com/IvorySQL/ivorysql-wasm/issues/1[#1]
33-
+
34-
提供一个基于 Web 的平台,用户可直接通过浏览器界面在线体验 IvorySQL V5.0 并进行数据库交互。
132+
- ddlx:Feature https://github.com/IvorySQL/IvorySQL/issues/877[#877] +
133+
支持 ddlx,便于高级模式洞察与自动化 DDL 生成。
35134

36-
3. 新增社区行为准则:特性 https://github.com/IvorySQL/IvorySQL/issues/808[#808]
37-
+
38-
为社区参与者明确了行为规范和期望,旨在营造一个友好且互相尊重的社区环境。
135+
- pgsql-http:Feature https://github.com/IvorySQL/IvorySQL/issues/883[#883] +
136+
允许数据库内部发起 HTTP/HTTPS 请求,实现与外部 Web 服务的无缝通信。
39137

40-
4. 更新社区贡献指南:特性 https://github.com/IvorySQL/ivorysql_docs/pull/121[#121]
41-
+
42-
对社区贡献流程、规范和最佳实践进行了修订与完善,方便贡献者参与。
138+
- system_stats:Feature https://github.com/IvorySQL/IvorySQL/issues/946[#946] +
139+
通过 system_stats 提供系统级统计信息。
43140

44-
5. 实现文档构建与网站更新自动化:特性 https://github.com/IvorySQL/ivorysql_docs/issues/115[#115]
45-
+
46-
通过 Pull Request (PR) 自动触发文档构建及官方网站内容更新流程。
141+
- plpgsql_check:Feature https://github.com/IvorySQL/IvorySQL/issues/915[#915] +
142+
在运行前对 PL/pgSQL 函数做静态分析,定位错误、警告与潜在问题。
47143

48-
6. 改进贡献者工作流程,通过 /assign 命令自我分配任务:特性 https://github.com/IvorySQL/ivorysql_docs/issues/109[#109]
144+
- pgvector:Feature https://github.com/IvorySQL/IvorySQL/issues/878[#878] +
145+
融合 pgvector,为 AI/ML 工作负载提供原生向量相似度检索。
49146

50-
7. IvorySQL Operator V4 适配 IvorySQL 5.0:特性 https://github.com/IvorySQL/ivory-operator/pull/79[#79]
147+
== 缺陷修复
51148

52-
== 源代码
149+
- 修复 `unused_oids` 与 `duplicate_oids` 目录工具,使头文件扫描能准确检测冲突且无误报:Issue https://github.com/IvorySQL/IvorySQL/issues/841[#841]
150+
- 为 `libpq/ivytest` 产物新增 `.gitignore`,避免生成的二进制与日志污染开发树:Issue https://github.com/IvorySQL/IvorySQL/issues/843[#843]
151+
- 扩展 GitHub 工作流回归测试,覆盖 `--with-libnuma` 配置,防止未来在启用 NUMA 的主机上出问题:Issue https://github.com/IvorySQL/IvorySQL/issues/869[#869]
152+
- 让 `psql` 用户可以通过 `\h create package` 获取 CREATE PACKAGE 语法帮助,补齐 PL/iSQL 包的 CLI 文档:Issue https://github.com/IvorySQL/IvorySQL/issues/936[#936]
153+
- 排除 MainLoop 悬空指针引发的并发压力下间歇性段错误:Issue https://github.com/IvorySQL/IvorySQL/issues/898[#898]
154+
- 修复 `oracle_test/modules/*/sql` 的测试框架假设,让 Oracle 兼容测试套件再次端到端运行:Issue https://github.com/IvorySQL/IvorySQL/issues/897[#897]
155+
- 更新 `README.md` 与 `README_CN.md`,同步 IvorySQL v5 特性、打包与快速上手信息:Issue https://github.com/IvorySQL/IvorySQL/issues/896[#896]
156+
- 更正全局唯一索引的强制机制,使相关回归测试在所有支持平台上稳定通过:Issue https://github.com/IvorySQL/IvorySQL/issues/894[#894]
53157

54-
IvorySQL主要包含2个代码仓库:
158+
== 源码仓库
55159

56-
* IvorySQL数据库源码: https://github.com/IvorySQL/IvorySQL
57-
* IvorySQL官方网站: https://github.com/IvorySQL/Ivory-www
160+
IvorySQL 的主要代码仓库:
58161

59-
== 贡献人员
60-
以下个人(按姓氏排序)作为补丁作者、提交者、审查者、测试者或问题报告者为此版本做出了贡献。
162+
- IvorySQL 数据库源码:https://github.com/IvorySQL/IvorySQL
163+
- IvorySQL 官网:https://github.com/IvorySQL/Ivory-www
164+
- IvorySQL 文档:https://github.com/IvorySQL/IvorySQL-docs
165+
- IvorySQL Docker:https://github.com/IvorySQL/docker_library
61166

62-
- Cary Huang
63-
- Denis Lussier
64-
- Flyingbeecd
65-
- Grant Zhou
66-
- 高雪玉
67-
- 矫顺田
68-
- 纪虎林
69-
- 梁翔宇
70-
- 吕新杰
71-
- 牛世继
72-
- 潘振浩
73-
- 石卓妍
74-
- 隋戈
75-
- 陶郑
76-
- 王康
77-
- 王守波
78-
- 杨世华
79-
- 严少安
80-
- 赵法威
81-
- 邹仁利
167+
== 贡献者名单
168+
以下人员(按字母顺序)作为补丁作者、提交者、审阅者、测试者或问题报告者,为本次发布做出了贡献。
169+
170+
* Carlos Chong
171+
* ccwxl
172+
* Cédric Villemain
173+
* elodiefb
174+
* Fawei Zhao
175+
* Ge Sui
176+
* Grant Zhou
177+
* Imran Zaheer
178+
* jerome-peng
179+
* Jiaoshun Tian
180+
* luss
181+
* Martin Gerhardy
182+
* msdnchina
183+
* omstack
184+
* otegami
185+
* rophy
186+
* Ruoyan Shi
187+
* Shaolin Chu
188+
* Shawn Yan
189+
* Shihua Yang
190+
* Shiji Niu
191+
* Shuisen Tong
192+
* shlei6067
193+
* sjw1933
194+
* Xiangyu Liang
195+
* Xiaohui Liu
196+
* Xinjie Lv
197+
* xuexiaoganghs
198+
* Xueyu Gao
199+
* yangchunwanwusheng
200+
* Yanliang Lei
201+
* Yasir Hussain Shah
202+
* Yuan Li
203+
* Zheng Tao
204+
* Zhenhao Pan

CN/modules/ROOT/pages/master/2.adoc

Lines changed: 19 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -69,16 +69,22 @@ IvorySQL是一个功能强大的开源对象关系数据库管理系统(ORDBMS)
6969

7070
== 与Oracle的兼容性
7171

72-
* https://docs.ivorysql.org/cn/ivorysql-doc/v5.0/v5.0/14[ivorysql框架设计]
73-
* https://docs.ivorysql.org/cn/ivorysql-doc/v5.0/v5.0/15[GUC框架]
74-
* https://docs.ivorysql.org/cn/ivorysql-doc/v5.0/v5.0/16[大小写转换]
75-
* https://docs.ivorysql.org/cn/ivorysql-doc/v5.0/v5.0/17[双模式设计]
76-
* https://docs.ivorysql.org/cn/ivorysql-doc/v5.0/v5.0/18[兼容Oracle like]
77-
* https://docs.ivorysql.org/cn/ivorysql-doc/v5.0/v5.0/19[兼容Oracle匿名块]
78-
* https://docs.ivorysql.org/cn/ivorysql-doc/v5.0/v5.0/20[兼容Oracle函数与存储过程]
79-
* https://docs.ivorysql.org/cn/ivorysql-doc/v5.0/v5.0/21[内置数据类型与内置函数]
80-
* https://docs.ivorysql.org/cn/ivorysql-doc/v5.0/v5.0/22[新增Oracle兼容模式的端口与IP]
81-
* https://docs.ivorysql.org/cn/ivorysql-doc/v5.0/v5.0/26[XML函数]
82-
* https://docs.ivorysql.org/cn/ivorysql-doc/v5.0/v5.0/27[兼容Oracle sequence]
83-
* https://docs.ivorysql.org/cn/ivorysql-doc/v5.0/v5.0/28[包]
84-
* https://docs.ivorysql.org/cn/ivorysql-doc/v5.0/v5.0/29[不可见列]
72+
* 大小写转换
73+
* LIKE操作符
74+
* 匿名块
75+
* 函数与存储过程
76+
* 内置数据类型与内置函数
77+
* 端口与IP
78+
* XML函数
79+
* sequence
80+
* 包
81+
* 不可见列
82+
* RowID
83+
* OUT 参数
84+
* %TYPE、%ROWTYPE
85+
* NLS 参数
86+
* Force View
87+
* 嵌套子函数
88+
* sys_guid 函数
89+
* 空字符串转null
90+
* CALL INTO

0 commit comments

Comments
 (0)