diff --git a/CN/modules/ROOT/pages/1.adoc b/CN/modules/ROOT/pages/1.adoc index f777ea19..4f30552e 100644 --- a/CN/modules/ROOT/pages/1.adoc +++ b/CN/modules/ROOT/pages/1.adoc @@ -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 * 高雪玉 * 韩建桥 * 矫顺田 @@ -90,3 +106,5 @@ IvorySQL 的主要代码仓库: * 严少安 * 赵法威 * 张哲 + +https://github.com/IvorySQL/IvorySQL/compare/IvorySQL_5.4\...IvorySQL_5.6[完整变更记录] diff --git a/CN/modules/ROOT/pages/5.14.adoc b/CN/modules/ROOT/pages/5.14.adoc index 4cda09ab..a4090042 100644 --- a/CN/modules/ROOT/pages/5.14.adoc +++ b/CN/modules/ROOT/pages/5.14.adoc @@ -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] ---- diff --git a/CN/modules/ROOT/pages/7.3.adoc b/CN/modules/ROOT/pages/7.3.adoc index e46f6428..452c1a44 100644 --- a/CN/modules/ROOT/pages/7.3.adoc +++ b/CN/modules/ROOT/pages/7.3.adoc @@ -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"; diff --git a/EN/modules/ROOT/pages/1.adoc b/EN/modules/ROOT/pages/1.adoc index c649d7cf..e4dfe4f8 100644 --- a/EN/modules/ROOT/pages/1.adoc +++ b/EN/modules/ROOT/pages/1.adoc @@ -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 @@ -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] diff --git a/EN/modules/ROOT/pages/5.14.adoc b/EN/modules/ROOT/pages/5.14.adoc index 56d8e8d3..99bcc682 100644 --- a/EN/modules/ROOT/pages/5.14.adoc +++ b/EN/modules/ROOT/pages/5.14.adoc @@ -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] ---- diff --git a/EN/modules/ROOT/pages/7.3.adoc b/EN/modules/ROOT/pages/7.3.adoc index 9f4f7a31..11e60d0e 100644 --- a/EN/modules/ROOT/pages/7.3.adoc +++ b/EN/modules/ROOT/pages/7.3.adoc @@ -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";