1. Version Overview

[Release date: December 23, 2024]

IvorySQL 4.0, based on PostgreSQL 17.0, and Fixed a series of bugs. For a comprehensive list of updates, please visit our documentation site.

2. Enhancements & Fixed Issue

  • PostgreSQL 17.0 Enhancements

    1. New memory management system for VACUUM, which reduces memory consumption and can improve overall vacuuming performance.

    2. New SQL/JSON capabilities, including constructors, identity functions, and the JSON_TABLE() function, which converts JSON data into a table representation.

    3. Various query performance improvements, including for sequential reads using streaming I/O, write throughput under high concurrency, and searches over multiple values in a btree index.

    4. Logical replication enhancements.

    5. New client-side connection option, sslnegotiation=direct, that performs a direct TLS handshake to avoid a round-trip negotiation.

    6. pg_basebackup now supports incremental backup.

    7. COPY adds a new option, ON_ERROR ignore, that allows a copy operation to continue in the event of an error.

    For further details, visit PostgreSQL’s release notes.

  • IvorySQL 4.0

    1. Oracle invisible columns compatibility: #608

      Add support for invisible columns and describe invisible columns in psql extended describe (\d+) in oracle mode only. Any general access to a table will not display invisible columns. Invisible columns must be explicitly referenced by their column name for queries and other operations to access them.

    2. Oracle package compatibility: #589

      Support PL/SQL package management, including creating, altering, and describing packages and package bodies. The PostgreSQL interactive terminal (psql) has been enhanced with a new \k command for package-related operations. Additionally, advanced privilege management is enabled through new ACL functions, and package caching has been implemented to boost performance.

    3. Function pg_get_functiondef support multiple OIDs and function names: #696

      Enhance function pg_get_functiondef() to support multiple function OIDs in parameter list. It also can export function definition with same name but different parameters now.

    4. Add 'ivorysql' as default database: #575

    5. Provide Ubuntu installation package: #703

3. Source Code

IvorySQL’s development is maintained across two main repositories:

4. Contributors

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

  • Bei Fu

  • Cary Huang

  • Fawei Zhao

  • Grant Zhou

  • Hope Gao

  • Imran Zaheer

  • Jiajie Zhou

  • jerome-peng

  • Jiao Ren

  • Li Wang

  • Ruohang Feng

  • Shawn Yan

  • Shiji Niu

  • Shoubo Wang

  • Shuntian Jiao

  • Xiangyu Liang

  • Xinjie Lv

  • Yi Wen

  • Zhenwei Xu