documentdb_extended_rum

DocumentDB Extended RUM index access method

Overview

PackageVersionCategoryLicenseLanguage
documentdb0.114SIMMITC
IDExtensionBinLibLoadCreateTrustRelocSchema
9000documentdbNoYesYesYesNoNo-
9010documentdb_coreNoYesYesYesNoNo-
9020documentdb_distributedNoYesYesYesNoNo-
9030documentdb_extended_rumNoYesYesYesNoYes-
Relateddocumentdb rum documentdb documentdb_core documentdb_distributed mongo_fdw

Version

TypeRepoVersionPG VerPackageDeps
EXTPIGSTY0.1141817161514documentdbdocumentdb
RPMPIGSTY0.1141817161514documentdb_$vpostgresql$v-contrib, pg_cron_$v, pgvector_$v, rum_$v, postgis36_$v
DEBPIGSTY0.1141817161514postgresql-$v-documentdbpostgresql-$v-cron, postgresql-$v-pgvector, postgresql-$v-rum, postgresql-$v-postgis-3
OS / PGPG18PG17PG16PG15PG14
el8.x86_64PIGSTY 0.114PIGSTY 0.114PIGSTY 0.114PIGSTY 0.114N/A
el8.aarch64PIGSTY 0.114PIGSTY 0.114PIGSTY 0.114PIGSTY 0.114N/A
el9.x86_64PIGSTY 0.114PIGSTY 0.114PIGSTY 0.114PIGSTY 0.114N/A
el9.aarch64PIGSTY 0.114PIGSTY 0.114PIGSTY 0.114PIGSTY 0.114N/A
el10.x86_64PIGSTY 0.114PIGSTY 0.114PIGSTY 0.114PIGSTY 0.114N/A
el10.aarch64PIGSTY 0.114PIGSTY 0.114PIGSTY 0.114PIGSTY 0.114N/A
d12.x86_64PIGSTY 0.114PIGSTY 0.114PIGSTY 0.114PIGSTY 0.114N/A
d12.aarch64PIGSTY 0.114PIGSTY 0.114PIGSTY 0.114PIGSTY 0.114N/A
d13.x86_64PGDG 0.114PGDG 0.114PGDG 0.114PGDG 0.114N/A
d13.aarch64PGDG 0.114PGDG 0.114PGDG 0.114PGDG 0.114N/A
u22.x86_64PIGSTY 0.114PIGSTY 0.114PIGSTY 0.114PIGSTY 0.114N/A
u22.aarch64PIGSTY 0.114PIGSTY 0.114PIGSTY 0.114PIGSTY 0.114N/A
u24.x86_64PIGSTY 0.114PIGSTY 0.114PIGSTY 0.114PIGSTY 0.114N/A
u24.aarch64PIGSTY 0.114PIGSTY 0.114PIGSTY 0.114PIGSTY 0.114N/A
u26.x86_64PGDG 0.114PGDG 0.114PGDG 0.114PGDG 0.114N/A
u26.aarch64PGDG 0.114PGDG 0.114PGDG 0.114PGDG 0.114N/A

Build

You can build the RPM / DEB packages for documentdb using pig build:

pig build pkg documentdb         # build RPM / DEB packages

Install

You can install documentdb directly. First, make sure the PGDG and PIGSTY repositories are added and enabled:

pig repo add pgsql -u          # Add repo and update cache

Install the extension using pig or apt/yum/dnf:

pig install documentdb;          # Install for current active PG version
pig ext install -y documentdb -v 18  # PG 18
pig ext install -y documentdb -v 17  # PG 17
pig ext install -y documentdb -v 16  # PG 16
pig ext install -y documentdb -v 15  # PG 15
dnf install -y documentdb_18       # PG 18
dnf install -y documentdb_17       # PG 17
dnf install -y documentdb_16       # PG 16
dnf install -y documentdb_15       # PG 15
apt install -y postgresql-18-documentdb   # PG 18
apt install -y postgresql-17-documentdb   # PG 17
apt install -y postgresql-16-documentdb   # PG 16
apt install -y postgresql-15-documentdb   # PG 15

Preload:

shared_preload_libraries = 'pg_documentdb, pg_documentdb_core, pg_documentdb_extended_rum';

Create Extension:

CREATE EXTENSION documentdb_extended_rum CASCADE;  -- requires: documentdb

Usage

Sources:

documentdb_extended_rum is DocumentDB’s extended RUM index access method. It is an implementation component selected by DocumentDB’s indexing layer, not a general-purpose application index or a replacement for installing documentdb.

Configure and Install

The library can only be initialized from shared_preload_libraries. Preload it after the base DocumentDB libraries and restart PostgreSQL:

shared_preload_libraries = 'pg_cron, pg_documentdb_core, pg_documentdb, pg_documentdb_extended_rum'
documentdb.alternate_index_handler_name = 'extended_rum'

Then install the extension using the same release as the base stack:

CREATE EXTENSION documentdb CASCADE;
CREATE EXTENSION documentdb_extended_rum;

DocumentDB deployment tooling normally owns this configuration. Existing databases should follow the release-specific upgrade procedure rather than switching an index handler ad hoc.

Important Objects

  • documentdb_extended_rum is the index access method registered by the extension.
  • documentdb_extended_rum_catalog contains BSON operator families and classes used by DocumentDB.
  • documentdb.alternate_index_handler_name = 'extended_rum' directs the DocumentDB index layer to the adapter.
  • The implementation is a RUM fork whose on-disk layout and content are designed to remain backward compatible with upstream RUM while changing query and volatile paths for document workloads.

Operational Boundaries

Install and upgrade this component with matching documentdb and documentdb_core binaries. Do not build indexes with its internal operator classes directly unless following upstream development guidance; create and manage indexes through the DocumentDB APIs so metadata stays consistent.

The v0.114-0 changelog describes a RUM WAL page-reuse marker and targeted posting-tree pruning, but both are feature-flagged and disabled by default pending stabilization. They are not default user-visible capabilities of this release.


Last Modified 2026-07-23: update extension list to 555 (d81fc56)