orioledb
orioledb : OrioleDB, the next generation transactional engine
Overview
| ID | Extension | Package | Version | Category | License | Language |
|---|---|---|---|---|---|---|
| 2910 | orioledb | orioledb | 1.8 |
FEAT | PostgreSQL | C |
| Attribute | Has Binary | Has Library | Need Load | Has DDL | Relocatable | Trusted |
|---|---|---|---|---|---|---|
| --sLd-r | No | Yes | Yes | Yes | yes | no |
| Relationships | |
|---|---|
| See Also | pg_mooncake storage_engine columnar pg_sorted_heap citus_columnar |
Packages
| Type | Repo | Version | PG Major Compatibility | Package Pattern | Dependencies |
|---|---|---|---|---|---|
| EXT | PIGSTY | 1.8 |
18 17 16 15 14 | orioledb |
- |
| RPM | PIGSTY | 1.8 |
18 17 16 15 14 | orioledb-$v |
- |
| DEB | PIGSTY | 1.8 |
18 17 16 15 14 | orioledb-$v |
- |
| Linux / PG | PG18 | PG17 | PG16 | PG15 | PG14 |
|---|---|---|---|---|---|
| el8.x86_64 | PIGSTY 1.8 | PIGSTY 1.8 | PIGSTY 1.8 | N/A | N/A |
| el8.aarch64 | PIGSTY 1.8 | PIGSTY 1.8 | PIGSTY 1.8 | N/A | N/A |
| el9.x86_64 | PIGSTY 1.8 | PIGSTY 1.8 | PIGSTY 1.8 | N/A | N/A |
| el9.aarch64 | PIGSTY 1.8 | PIGSTY 1.8 | PIGSTY 1.8 | N/A | N/A |
| el10.x86_64 | PIGSTY 1.8 | PIGSTY 1.8 | PIGSTY 1.8 | N/A | N/A |
| el10.aarch64 | PIGSTY 1.8 | PIGSTY 1.8 | PIGSTY 1.8 | N/A | N/A |
| d12.x86_64 | PIGSTY 1.8 | PIGSTY 1.8 | PIGSTY 1.8 | N/A | N/A |
| d12.aarch64 | PIGSTY 1.8 | PIGSTY 1.8 | PIGSTY 1.8 | N/A | N/A |
| d13.x86_64 | PIGSTY 1.8 | PIGSTY 1.8 | PIGSTY 1.8 | N/A | N/A |
| d13.aarch64 | PIGSTY 1.8 | PIGSTY 1.8 | PIGSTY 1.8 | N/A | N/A |
| u22.x86_64 | PIGSTY 1.8 | PIGSTY 1.8 | PIGSTY 1.8 | N/A | N/A |
| u22.aarch64 | PIGSTY 1.8 | PIGSTY 1.8 | PIGSTY 1.8 | N/A | N/A |
| u24.x86_64 | PIGSTY 1.8 | PIGSTY 1.8 | PIGSTY 1.8 | N/A | N/A |
| u24.aarch64 | PIGSTY 1.8 | PIGSTY 1.8 | PIGSTY 1.8 | N/A | N/A |
| u26.x86_64 | PIGSTY 1.8 | PIGSTY 1.8 | PIGSTY 1.8 | N/A | N/A |
| u26.aarch64 | PIGSTY 1.8 | PIGSTY 1.8 | PIGSTY 1.8 | N/A | N/A |
Source
github.com/orioledb/orioledb
orioledb-beta16.tar.gz
Install
Make sure PGDG and PIGSTY repo available:
Install this extension with pig:
Config this extension to shared_preload_libraries:
Create this extension with:
Usage
Sources: README, beta16 release, patched PostgreSQL tree
OrioleDB is a new storage engine for PostgreSQL that provides modern approaches to database capacity, capabilities, and performance. It uses undo log-based MVCC, copy-on-write checkpoints, and row-level WAL to eliminate bloat and the need for VACUUM.
Configuration
Add to postgresql.conf (requires restart):
Then enable the extension:
Creating Tables
Use the USING orioledb clause to create tables with the OrioleDB storage engine:
All standard PostgreSQL operations work on OrioleDB tables:
Collation Requirements
OrioleDB tables support only ICU, C, and POSIX collations. To avoid specifying COLLATE on every text field, create the database with an appropriate default:
Key Benefits
- No bloat: Undo log-based MVCC means old tuple versions do not bloat main storage
- No VACUUM needed: Page-merging and undo log reclaim space automatically
- No wraparound problem: Native 64-bit transaction identifiers
- Lock-less page reading: In-memory pages linked directly to storage pages
- Row-level WAL: Compact write-ahead logging suitable for parallel apply
Limitations
- Public beta status – recommended for testing, not production
- Requires a patched PostgreSQL build from orioledb/postgres
- Only ICU, C, and POSIX collations are supported
Version Notes
OrioleDB 1.8-beta16 bumps the extension SQL version to 1.8, bases patched PostgreSQL builds on 16.13, 17.9, and 18.4, and adds PostgreSQL 18 support. New user-facing surfaces include orioledb.serializable for SERIALIZABLE support and verify_orioledb(regclass, boolean) for pg_amcheck integration. The release also includes recovery, replication, index-scan, vacuum, and DDL correctness fixes.