[Release Date: Dec 14, 2022]
IvorySQL 2.1 is based on PostgreSQL 15.1 and contains a variety of fixes from Postgres community and new feature since IvorySQL 1.5.
This release is compatible with IvorySQL 1.5 and does not require a dump/restore for those running IvorySQL 1.X.
IvorySQL 2.1 contains a variety of fixes from PostgreSQL 15.0 and 15.1, including improved sort Performance and Compression, logging and configuration enhancement, more fine-tuned logical replication options, etc. For more detailed updates and bug fixes in PostgreSQL 15 and 15.1, please refer to the official PostgreSQL 15.0 release notes and PostgreSQL 15.1 release notes.
[Global unique index]
“Global unique index” is a unique index on a partitioned table that can ensure cross-partition uniqueness using a non-partition key. This feature can be used in Postgres and Oracle compatibility modes.
This work is inspired by this email thread, “Proposal: Global Index” started back in 2019. Our team took a different approach to implement the feature that ensures uniqueness constraint spanning multiple partitions without heavy modification to current Postgres’s partitioned table/index structure. In other words, a global unique index and a regular partitioned index are essentially the same in terms of their storage structure except that one can do cross-partition uniqueness check, the other cannot.Global unique index can be created with "GLOBAL" and "UNIQUE" clauses in a "CREATE INDEX" statement run against a partitioned table. For example,
CREATE UNIQUE INDEX global_index ON idxpart(bid) GLOBAL;
With a global unqiue index created, cross partition uniqueness can be guaranteed with INSERT, UPDATE, ATTACH and DETACH operations.
The following individuals have contributed to this release as patch authors, committers, reviewers, testers, or reporters of issues.
- Cary Huang
- David Zhang
- Grant Zhou