跳转到主要内容

documentdb_extended_rum

DocumentDB Extended RUM index access method

documentdb : DocumentDB Extended RUM index access method

Overview

ID Extension Package Version Category License Language
9030 documentdb_extended_rum documentdb 1.0 SIM MIT C
Attribute Has Binary Has Library Need Load Has DDL Relocatable Trusted
--sLd-r No Yes Yes Yes yes no
Relationships
Schemas documentdb_extended_rum_catalog
Requires documentdb
See Also rum pg_projection jsquery pgbson mongo_fdw pg_jsonschema jsonschema pgjq hll roaringbitmap
Siblings documentdb documentdb_core documentdb_distributed
DocumentDB 1.0 packages install SQL 1.0-0. PGSTY supports PostgreSQL 16-18; PG15 is excluded due to the libbson allocation alignment failure. The OSS package includes documentdb, documentdb_core and documentdb_extended_rum only. External RUM is a package dependency on PG16/17 only, not PG18.

Packages

Type Repo Version PG Major Compatibility Package Pattern Dependencies
EXT PIGSTY 1.0 18 17 16 15 14 documentdb documentdb
RPM PIGSTY 1.0 18 17 16 15 14 documentdb_$v postgresql$v-contrib, pg_cron_$v, pgvector_$v, rum_$v, postgis36_$v
DEB PIGSTY 1.0 18 17 16 15 14 postgresql-$v-documentdb postgresql-$v-cron, postgresql-$v-pgvector, postgresql-$v-rum, postgresql-$v-postgis-3
Linux / PG PG18 PG17 PG16 PG15 PG14
el8.x86_64 PIGSTY 1.0 PIGSTY 1.0 PIGSTY 1.0 PIGSTY 0.117 N/A
el8.aarch64 PIGSTY 1.0 PIGSTY 1.0 PIGSTY 1.0 PIGSTY 0.117 N/A
el9.x86_64 PIGSTY 1.0 PIGSTY 1.0 PIGSTY 1.0 PIGSTY 0.117 N/A
el9.aarch64 PIGSTY 1.0 PIGSTY 1.0 PIGSTY 1.0 PIGSTY 0.117 N/A
el10.x86_64 PIGSTY 1.0 PIGSTY 1.0 PIGSTY 1.0 PIGSTY 0.117 N/A
el10.aarch64 PIGSTY 1.0 PIGSTY 1.0 PIGSTY 1.0 PIGSTY 0.117 N/A
d12.x86_64 PIGSTY 1.0 PIGSTY 1.0 PIGSTY 1.0 PIGSTY 0.117 N/A
d12.aarch64 PIGSTY 1.0 PIGSTY 1.0 PIGSTY 1.0 PIGSTY 0.117 N/A
d13.x86_64 PIGSTY 1.0 PIGSTY 1.0 PIGSTY 1.0 PGDG 1.0 N/A
d13.aarch64 PIGSTY 1.0 PIGSTY 1.0 PIGSTY 1.0 PGDG 1.0 N/A
u22.x86_64 PIGSTY 1.0 PIGSTY 1.0 PIGSTY 1.0 PIGSTY 0.117 N/A
u22.aarch64 PIGSTY 1.0 PIGSTY 1.0 PIGSTY 1.0 PIGSTY 0.117 N/A
u24.x86_64 PIGSTY 1.0 PIGSTY 1.0 PIGSTY 1.0 PIGSTY 0.117 N/A
u24.aarch64 PIGSTY 1.0 PIGSTY 1.0 PIGSTY 1.0 PIGSTY 0.117 N/A
u26.x86_64 PIGSTY 1.0 PIGSTY 1.0 PIGSTY 1.0 PGDG 1.0 N/A
u26.aarch64 PIGSTY 1.0 PIGSTY 1.0 PIGSTY 1.0 PGDG 1.0 N/A

Source

documentdb-1.0-0.tar.gz intelrdfpmath-applied-2.0u3-1.tar.gz

pig build pkg documentdb;		# build rpm/deb

Install

Make sure PGDG and PIGSTY repo available:

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

Install this extension with pig:

pig install documentdb;		# install via package name, for the active PG version
pig install documentdb_extended_rum;		# install by extension name, for the current active PG version

pig install documentdb_extended_rum -v 18;   # install for PG 18
pig install documentdb_extended_rum -v 17;   # install for PG 17
pig install documentdb_extended_rum -v 16;   # install for PG 16

Config this extension to shared_preload_libraries:

shared_preload_libraries = 'pg_cron, pg_documentdb_core, pg_documentdb, pg_documentdb_extended_rum';

Create this extension with:

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.rum_library_load_option = 'require_documentdb_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.rum_library_load_option = 'require_documentdb_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.

In 1.0-0, documentdb.rum_library_load_option continues to default to require_documentdb_extended_rum. The release fixes concurrent root-split handling in vacuum, restores vacuum delays and interrupt checks, and enables targeted posting-tree pruning and empty entry-leaf pruning by default. Apply the matching upgrade SQL and validate existing indexes through supported DocumentDB operations.