orioledb
orioledb : OrioleDB, the next generation transactional engine
Overview
| ID | Extension | Package | Version | Category | License | Language |
|---|---|---|---|---|---|---|
| 2910 | orioledb | orioledb | 1.10 |
FEAT | Apache-2.0 OR 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.10 |
18 17 16 15 14 | orioledb |
- |
| RPM | PIGSTY | 1.10 |
18 17 16 15 14 | orioledb-$v |
- |
| DEB | PIGSTY | 1.10 |
18 17 16 15 14 | orioledb-$v |
- |
| Linux / PG | PG18 | PG17 | PG16 | PG15 | PG14 |
|---|---|---|---|---|---|
| el8.x86_64 | PIGSTY 1.10 | PIGSTY 1.10 | PIGSTY 1.10 | N/A | N/A |
| el8.aarch64 | PIGSTY 1.10 | PIGSTY 1.10 | PIGSTY 1.10 | N/A | N/A |
| el9.x86_64 | PIGSTY 1.10 | PIGSTY 1.10 | PIGSTY 1.10 | N/A | N/A |
| el9.aarch64 | PIGSTY 1.10 | PIGSTY 1.10 | PIGSTY 1.10 | N/A | N/A |
| el10.x86_64 | PIGSTY 1.10 | PIGSTY 1.10 | PIGSTY 1.10 | N/A | N/A |
| el10.aarch64 | PIGSTY 1.10 | PIGSTY 1.10 | PIGSTY 1.10 | N/A | N/A |
| d12.x86_64 | PIGSTY 1.10 | PIGSTY 1.10 | PIGSTY 1.10 | N/A | N/A |
| d12.aarch64 | PIGSTY 1.10 | PIGSTY 1.10 | PIGSTY 1.10 | N/A | N/A |
| d13.x86_64 | PIGSTY 1.10 | PIGSTY 1.10 | PIGSTY 1.10 | N/A | N/A |
| d13.aarch64 | PIGSTY 1.10 | PIGSTY 1.10 | PIGSTY 1.10 | N/A | N/A |
| u22.x86_64 | PIGSTY 1.10 | PIGSTY 1.10 | PIGSTY 1.10 | N/A | N/A |
| u22.aarch64 | PIGSTY 1.10 | PIGSTY 1.10 | PIGSTY 1.10 | N/A | N/A |
| u24.x86_64 | PIGSTY 1.10 | PIGSTY 1.10 | PIGSTY 1.10 | N/A | N/A |
| u24.aarch64 | PIGSTY 1.10 | PIGSTY 1.10 | PIGSTY 1.10 | N/A | N/A |
| u26.x86_64 | PIGSTY 1.10 | PIGSTY 1.10 | PIGSTY 1.10 | N/A | N/A |
| u26.aarch64 | PIGSTY 1.10 | PIGSTY 1.10 | PIGSTY 1.10 | N/A | N/A |
Source
github.com/orioledb/orioledb
orioledb-beta19.tar.gz postgres-patches16_49.tar.gz postgres-patches17_22.tar.gz postgres-patches18_3.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:
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:
Use ordinary DML on OrioleDB tables, subject to the documented compatibility limits:
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 beta17 uses extension SQL version 1.9 and patched PostgreSQL bases 16.15, 17.11, and 18.6. It adds concurrent creation/rebuilding of native btree indexes, cross-major upgrade support, page checksums, and parallel index/bitmap scans, together with recovery and DDL correctness fixes. Follow the beta17 binary and storage compatibility instructions before upgrading; a new SQL version does not make the engine usable on an unpatched PostgreSQL server.