Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
100 changes: 59 additions & 41 deletions CN/modules/ROOT/pages/1.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -4,78 +4,94 @@

== 版本概览

[*发布日期:2026 年 6 月 17 日*]
[*发布日期:2026 年 9 月 17 日*]

IvorySQL 5.4 基于 PostgreSQL 18.4 构建,包含多项错误修复。有关更新的完整列表,请访问我们的 https://docs.ivorysql.org/[文档站点]。
IvorySQL 5.6 将 PostgreSQL 内核升级至 18.6,并针对 Oracle 兼容性、内存安全、客户端接口和扩展构建提供多项修复。有关更新的完整列表,请访问我们的 https://docs.ivorysql.org/[文档站点]。

== 增强内容
== 上游更新

由于在发布准备过程中发现了回归问题,PostgreSQL 18.5 未发布。

- PostgreSQL 18.4
- PostgreSQL 18.6

1. 修复处理启动数据包时可能出现的无限递归问题
2. 修复内存分配计算中的各种整数溢出问题
3. 修复 pg_createsubscriber 中订阅名称未正确添加引号的问题
4. 修复逻辑复制源检查中对象名称未正确添加引号的问题
5. 修复 `ts_headline()` 中未拒绝超长选项的问题
6. 修复恢复属性 MCV 统计信息时错误输入的检测问题
1. 通过新增的服务器参数 `output_plugin_libraries`,将逻辑解码输出插件限制为该参数指定的集合
2. 修复 contrib/pgcrypto 的 PGP 加密,使其能够检测不支持的加密算法
3. 修复 psql:即使脚本中的 `COPY ... FROM STDIN` 命令在发送 `PGRES_COPY_IN` 前失败,也能跳过该命令后的内联数据
4. 在此前未执行检查的位置检查数据类型的 `USAGE` 权限
5. 角色变更后,使依赖角色的缓存计划失效
6. 确保并行 GIN 索引构建能够正确更新表的 `pg_class.reltuples` 值

更多详情,请参阅 https://www.postgresql.org/docs/release/18.4/[PostgreSQL 18.4 发布说明]。
更多详情,请参阅 https://www.postgresql.org/docs/release/18.6/[PostgreSQL 18.6 发布说明]。

== 新特性
== 增强内容

- 升级至 PG 18.4 内核:Feature https://github.com/IvorySQL/IvorySQL/pull/1344[#1344] +
PostgreSQL 内核已升级至 18.4 版本。
- 升级至 PG 18.6 内核:Feature https://github.com/IvorySQL/IvorySQL/pull/1719[#1719] +
PostgreSQL 内核已升级至 18.6 版本。

- [IvorySQL Skills](https://github.com/IvorySQL/skills)
帮助 AI 助手成为 IvorySQL 数据库专家.
- AI 辅助贡献指南:Feature https://github.com/IvorySQL/IvorySQL/pull/1473[#1473] +
制定相关指南,涵盖许可证合规、人工审查与签署责任、AI 工具归属标注、AI 生成代码占比披露,以及负责任地参与代码审查

- http://trial.ivorysql.org/[在线体验]:IvorySQL 5.4:Feature https://github.com/IvorySQL/ivorysql-wasm/pull/10[#10] +
上线交互式浏览器环境,用户可实时体验与评估 IvorySQL 5.4,无需安装。
- IvorySQL 5.6 http://trial.ivorysql.org/[在线体验]:Feature https://github.com/IvorySQL/ivorysql-wasm/pull/12[#12] +
现已提供交互式浏览器环境,用户可实时体验与评估 IvorySQL 5.6,无需安装。

- 全平台打包+
为 X86、ARM、MIPS、龙芯架构等平台提供多架构安装介质
- 全平台打包 +
为 X86、ARM、MIPS 和龙芯架构提供多平台安装介质

- 容器化部署支持 +
支持通过 Docker Compose、Podman、Swarm、Helm 以及 IvorySQL 5.4 Operator 一键部署单机或高可用的 IvorySQL 5.4 集群。
支持通过 Docker Compose、Podman、Swarm、Helm 以及 IvorySQL 5.6 Operator 快速部署单机或高可用的 IvorySQL 5.6 集群。

- 发布 IvorySQL Cloud 5.4(统一全生命周期与可视化控制平台) +
提供可视化托管控制平台,覆盖订阅、端到端的全生命周期编排以及生态集成
- 发布 IvorySQL Cloud 5.6(数据库全生命周期可视化管理平台) +
提供全托管的可视化控制平台,负责 IvorySQL 5.6 数据库订阅、端到端的全生命周期编排,并集成周边生态服务

- PostgreSQL Extensions +
新增支持 10 个 PostgreSQL 扩展:pg_cron、pgAudit、PostGIS、pgRouting、PGroonga、ddlx、pgsql-http、system_stats、plpgsql_check、pgvector
- 扩展 +
支持 34 个额外的扩展和工具:AGE、ddlx、pg_ai_query、pg_bigm、pg_bulkload、pg_cron、pg_curl、pg_hint_plan、pg_jieba、pg_partman、pg_profile、pg_readonly、pg_repack、pg_show_plans、pg_stat_monitor、pg_textsearch、pgagent、pgaudit、pgBackRest、pgBouncer、PgDog、pgnodemx、PGroonga、pgRouting、pgsql-http、pgtt、pgvector、plpgsql_check、PostGIS、redis_fdw、set_user、system_stats、wal2json、zhparser

- 增强了 EXTRACT 函数,在 SQL 查询中接受更多语法变体。: PR https://github.com/IvorySQL/IvorySQL/pull/1222[#1222]
== 缺陷修复

- 修复 Oracle 兼容的 interval 乘除法中可能发生的溢出和 NaN 处理不当问题:PR https://github.com/IvorySQL/IvorySQL/pull/1211[#1211]
- 禁止通过 ALTER USER/ROLE/DATABASE SET 持久化 ivorysql.compatible\_mode,并封堵 SET ... TO DEFAULT 和针对该参数执行 RESET 的绕过方式:PR https://github.com/IvorySQL/IvorySQL/pull/1372[#1372]
- 修复表达式求值期间,带包限定符的变量引用被解析为无关局部变量的问题:PR https://github.com/IvorySQL/IvorySQL/pull/1381[#1381]
- 修复使用 GCC 14 及更高版本时的构建失败问题:PR https://github.com/IvorySQL/IvorySQL/pull/1385[#1385]
- 修复序列中相互冲突或重复的 SHARD 选项校验问题:PR https://github.com/IvorySQL/IvorySQL/pull/1401[#1401]
- 修复第三方 PostgreSQL 扩展针对 IvorySQL 构建时的失败问题:PR https://github.com/IvorySQL/IvorySQL/pull/1448[#1448]
- 使 ivorysql.enable\_case\_switch 在 SHOW ALL 中可见,并可通过配置文件进行配置:PR https://github.com/IvorySQL/IvorySQL/pull/1450[#1450]
- 修复 DBMS\_UTILITY 回溯和调用栈输出中缺少包名及模式限定错误的问题:PR https://github.com/IvorySQL/IvorySQL/pull/1471[#1471]
- 修复 REGEXP\_COUNT、REGEXP\_SUBSTR、REGEXP\_INSTR 和 REGEXP\_REPLACE 中换行符处理错误以及 m/n 选项行为异常的问题:PR https://github.com/IvorySQL/IvorySQL/pull/1489[#1489]
- 修复 Ivyresult 提前返回路径上的内存泄漏问题:PR https://github.com/IvorySQL/IvorySQL/pull/1556[#1556]
- 修复 psql 命名绑定查询转义和 \\bind 处理中发生的堆缓冲区越界问题:PR https://github.com/IvorySQL/IvorySQL/pull/1569[#1569]
- 修复 XML 函数使用过长的命名空间前缀或 URL 时发生的堆缓冲区溢出问题:PR https://github.com/IvorySQL/IvorySQL/pull/1827[#1827]

== 源码仓库

IvorySQL 的主要代码仓库
IvorySQL 的开发工作主要在以下四个代码仓库中进行

- IvorySQL 数据库源码:https://github.com/IvorySQL/IvorySQL
- IvorySQL 官网:https://github.com/IvorySQL/Ivory-www
- IvorySQL 文档:https://github.com/IvorySQL/IvorySQL-docs
- IvorySQL 文档:https://github.com/IvorySQL/IvorySQL_docs
- IvorySQL Docker:https://github.com/IvorySQL/docker_library

== 贡献者名单

以下人员(按字母顺序)作为补丁作者、提交者、审阅者、测试者或问题报告者,为本次发布做出了贡献。

* 3296442201
* Adria0615
* anapplebeee
* 123123213weqw
* Aias00
* ai-yang
* btlqql
* Cédric Villemain
* db-nikhil
* digoal
* enkilee
* goeason-world
* Grant Zhou
* jerome-peng
* liketoochao
* movead123
* msdnchina
* Pierre Forstmann
* Rophy Tsai
* lispking
* messere1
* tian1220A
* xiaoyu509
* yes7rose
* xuhuicai
* yaozichen2025
* Yasir Hussain Shah
* z20081120087
* zuinuan123
* yyqdbngt
* Z95-cmyk
* 高雪玉
* 韩建桥
* 矫顺田
Expand All @@ -90,3 +106,5 @@ IvorySQL 的主要代码仓库:
* 严少安
* 赵法威
* 张哲

https://github.com/IvorySQL/IvorySQL/compare/IvorySQL_5.4\...IvorySQL_5.6[完整变更记录]
2 changes: 1 addition & 1 deletion CN/modules/ROOT/pages/5.14.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ sudo make USE_PGXS=1 \

== 配置预加载

在 `postgresql.conf` 中将 pgnodemx 追加到已有的 `shared_preload_libraries`,不要删除 IvorySQL 原有预加载库。
在 `ivorysql.conf` 中将 pgnodemx 追加到已有的 `shared_preload_libraries`,不要删除 IvorySQL 原有预加载库。

[source,ini]
----
Expand Down
2 changes: 1 addition & 1 deletion CN/modules/ROOT/pages/7.3.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,7 @@ ERROR: relation "Normal_3" does not exist
LINE 1: select * from "Normal_3";

ivorysql=# drop table "NORMAL_1";
DROP TABLE
ERROR: relation "NORMAL_1" does not exist
ivorysql=# drop table "Normal_2";
DROP TABLE
ivorysql=# drop table "normal_3";
Expand Down
103 changes: 60 additions & 43 deletions EN/modules/ROOT/pages/1.adoc
Original file line number Diff line number Diff line change
@@ -1,51 +1,65 @@

:sectnums:
:sectnumlevels: 5


== Version Overview

[*Release Date: June 17, 2026*]
[*Release Date: September 17, 2026*]

IvorySQL 5.4 is built on PostgreSQL 18.4 and includes a variety of bug fixes. For a comprehensive list of updates, please visit our [documentation site](https://docs.ivorysql.org/).
IvorySQL 5.6 updates the PostgreSQL core to version 18.6 and delivers fixes for Oracle compatibility, memory safety, client interfaces, and extension builds. For a comprehensive list of updates, please visit our https://docs.ivorysql.org/[documentation site].

== Enhancements
== Upstream Updates

- PostgreSQL 18.4
PostgreSQL 18.5 was not released because a regression was discovered during release preparation.

1. Prevent unbounded recursion while processing startup packets.
2. Fix assorted integer overflows in memory-allocation calculations.
3. Properly quote subscription names in pg_createsubscriber.
4. Properly quote object names in logical replication origin checks.
5. Reject over-length options in `ts_headline()`.
6. Detect faulty input when restoring attribute MCV statistics.
- PostgreSQL 18.6

For further details, visit https://www.postgresql.org/docs/release/18.4/[PostgreSQL's release notes].
1. Restrict logical decoding output plugins to the set specified by a new server parameter `output_plugin_libraries`.
2. Fix contrib/pgcrypto's PGP encryption to detect unsupported ciphers.
3. Fix psql to skip in-line data following a scripted `COPY ... FROM STDIN` command, even if the `COPY` fails before sending `PGRES_COPY_IN`.
4. Check for `USAGE` privilege on data types in places that formerly failed to check that.
5. Invalidate role-dependent cached plans after role changes.
6. Ensure that parallel GIN index builds update the table's `pg_class.reltuples` value correctly.

== New Features
For further details, visit https://www.postgresql.org/docs/release/18.6/[PostgreSQL 18.6 release notes].

- Upgrade to PG 18.4 kernel: Feature https://github.com/IvorySQL/IvorySQL/pull/1344[#1344] +
PostgreSQL kernel upgraded to version 18.4.
== Enhancements

- [IvorySQL Skills](https://github.com/IvorySQL/skills)
Empowering AI assistants to become IvorySQL database experts.
- Upgrade to PG 18.6 kernel: Feature https://github.com/IvorySQL/IvorySQL/pull/1719[#1719] +
PostgreSQL kernel upgraded to version 18.6.

- http://trial.ivorysql.org/[Online Experience]: IvorySQL 5.4: Feature https://github.com/IvorySQL/ivorysql-wasm/pull/10[#10] +
An interactive, browser-based environment will be launched to allow users to explore and evaluate IvorySQL 5.4 in real time — no installation required.
- AI-assisted contribution guidelines: Feature https://github.com/IvorySQL/IvorySQL/pull/1473[#1473] +
Establish guidelines covering licensing compliance, human review and sign-off responsibilities, AI tool attribution, disclosure of AI-generated code percentages, and responsible participation in code reviews.

- Packaging for All Platforms: +
Provides multi-platform media packages for X86, ARM, MIPS, LoongArch architecture.
- IvorySQL 5.6 http://trial.ivorysql.org/[Online Experience]: Feature https://github.com/IvorySQL/ivorysql-wasm/pull/12[#12] +
An interactive, browser-based environment is now available, allowing users to explore and evaluate IvorySQL 5.6 in real time — no installation required.

- Packaging for All Platforms +
Provides multi-platform media packages for X86, ARM, MIPS, and LoongArch architectures.

- Containerized Deployment Support +
Supports one-click deployment of standalone or highly available IvorySQL 5.4 clusters via Docker Compose, Podman, Swarm, Helm, and the IvorySQL 5.4 Operator.
Supports quick deployment of standalone or highly available IvorySQL 5.6 clusters via Docker Compose, Podman, Swarm, Helm, and the IvorySQL 5.6 Operator.

- IvorySQL Cloud 5.6 released (Visual Database Lifecycle Management Platform) +
Offers a fully managed, graphical control plane that handles IvorySQL 5.6 database subscriptions, orchestrates end-to-end lifecycle operations, and integrates surrounding ecosystem services.

- IvorySQL Cloud 5.4 released (Visual Database Lifecycle Management Platform) +
Offers a fully managed, graphical control plane that handles IvorySQL 5.4 database subscriptions, orchestrates end-to-end lifecycle operations, and integrates surrounding ecosystem services.
- Extensions +
Support for 34 Additional Extensions and Tools: AGE, ddlx, pg_ai_query, pg_bigm, pg_bulkload, pg_cron, pg_curl, pg_hint_plan, pg_jieba, pg_partman, pg_profile, pg_readonly, pg_repack, pg_show_plans, pg_stat_monitor, pg_textsearch, pgagent, pgaudit, pgBackRest, pgBouncer, PgDog, pgnodemx, PGroonga, pgRouting, pgsql-http, pgtt, pgvector, plpgsql_check, PostGIS, redis_fdw, set_user, system_stats, wal2json, zhparser.

- PostgreSQL Extensions +
Support for 10 Additional PostgreSQL Extensions: pg_cron, pgAudit, PostGIS, pgRouting, PGroonga, ddlx, pgsql-http, system_stats, plpgsql_check, pgvector.
== Fixed Issues

- Enhanced the EXTRACT function support to accept additional syntax variations in SQL queries: PR https://github.com/IvorySQL/IvorySQL/pull/1222[#1222]
- Fix potential overflow and NaN mishandling in Oracle-compatible interval multiplication and division: PR https://github.com/IvorySQL/IvorySQL/pull/1211[#1211]
- Disallow persisting ivorysql.compatible\_mode through ALTER USER/ROLE/DATABASE SET, and close the SET ... TO DEFAULT and parameter-specific RESET bypasses: PR https://github.com/IvorySQL/IvorySQL/pull/1372[#1372]
- Fix package-qualified variable references resolving to unrelated local variables during expression evaluation: PR https://github.com/IvorySQL/IvorySQL/pull/1381[#1381]
- Fix build failures with GCC 14 and later: PR https://github.com/IvorySQL/IvorySQL/pull/1385[#1385]
- Fix validation of conflicting or repeated SHARD options on sequences: PR https://github.com/IvorySQL/IvorySQL/pull/1401[#1401]
- Fix build failures of third-party PostgreSQL extensions against IvorySQL: PR https://github.com/IvorySQL/IvorySQL/pull/1448[#1448]
- Make ivorysql.enable\_case\_switch visible in SHOW ALL and configurable in configuration files: PR https://github.com/IvorySQL/IvorySQL/pull/1450[#1450]
- Fix missing package names and wrong schema qualification in DBMS\_UTILITY backtrace and call-stack output: PR https://github.com/IvorySQL/IvorySQL/pull/1471[#1471]
- Fix incorrect newline handling and m/n option behavior in REGEXP\_COUNT, REGEXP\_SUBSTR, REGEXP\_INSTR, and REGEXP\_REPLACE: PR https://github.com/IvorySQL/IvorySQL/pull/1489[#1489]
- Fix Ivyresult memory leaks on early-return paths: PR https://github.com/IvorySQL/IvorySQL/pull/1556[#1556]
- Fix heap buffer overruns in psql named-bind query escaping and \\bind handling: PR https://github.com/IvorySQL/IvorySQL/pull/1569[#1569]
- Fix heap buffer overflows when long namespace prefixes or URLs are used in XML functions: PR https://github.com/IvorySQL/IvorySQL/pull/1827[#1827]

== Source Code

Expand All @@ -60,34 +74,37 @@ IvorySQL's development is maintained across four main repositories:

The following individuals (in alphabetical order) have contributed to this release as patch authors, committers, reviewers, testers, or reporters of issues.

* 3296442201
* Adria0615
* anapplebeee
* 123123213weqw
* Aias00
* ai-yang
* btlqql
* Cédric Villemain
* db-nikhil
* digoal
* enkilee
* Fawei Zhao
* Ge Sui
* goeason-world
* Grant Zhou
* hanjianqiao
* jerome-peng
* liketoochao
* movead123
* msdnchina
* Pierre Forstmann
* Rophy Tsai
* Shawn Yan
* lispking
* messere1
* NotHimmel
* Shuntian Jiao
* Steven Niu
* tian1220A
* xiaoyu509
* Xiaohui Liu
* Xiangyu Liang
* Xiaohui Liu
* Xinjie LYU
* Xueyu Gao
* yes7rose
* xuhuicai
* yaozichen2025
* Yasir Hussain Shah
* z20081120087
* yyqdbngt
* Z95-cmyk
* Zhe Zhang
* Zhenhao Pan
* Zheng Tao
* Zhenhao Pan
* Zhuoyan Shi
* zuinuan123

https://github.com/IvorySQL/IvorySQL/compare/IvorySQL_5.4\...IvorySQL_5.6[Complete Changelog]
2 changes: 1 addition & 1 deletion EN/modules/ROOT/pages/5.14.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ Confirm that the selected `pg_config` belongs to IvorySQL 5.4 before compiling:

== Configure preloading

Append pgnodemx to the existing `shared_preload_libraries` value in `postgresql.conf`. Do not remove IvorySQL's existing preload libraries.
Append pgnodemx to the existing `shared_preload_libraries` value in `ivorysql.conf`. Do not remove IvorySQL's existing preload libraries.

[source,ini]
----
Expand Down
2 changes: 1 addition & 1 deletion EN/modules/ROOT/pages/7.3.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@ ERROR: relation "Normal_3" does not exist
LINE 1: select * from "Normal_3";

ivorysql=# drop table "NORMAL_1";
DROP TABLE
ERROR: relation "NORMAL_1" does not exist
ivorysql=# drop table "Normal_2";
DROP TABLE
ivorysql=# drop table "normal_3";
Expand Down
Loading