跳转到主要内容

documentdb_core

Core API surface for DocumentDB on PostgreSQL

documentdb : Core API surface for DocumentDB on PostgreSQL

Overview

ID Extension Package Version Category License Language
9010 documentdb_core documentdb 0.114 SIM MIT C
Attribute Has Binary Has Library Need Load Has DDL Relocatable Trusted
--sLd-- No Yes Yes Yes no no

Packages

Type Repo Version PG Major Compatibility Package Pattern Dependencies
EXT PIGSTY 0.114 18 17 16 15 14 documentdb -
RPM PIGSTY 0.114 18 17 16 15 14 documentdb_$v postgresql$v-contrib, pg_cron_$v, pgvector_$v, rum_$v, postgis36_$v
DEB PIGSTY 0.114 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 0.114 PIGSTY 0.114 PIGSTY 0.114 PIGSTY 0.114 N/A
el8.aarch64 PIGSTY 0.114 PIGSTY 0.114 PIGSTY 0.114 PIGSTY 0.114 N/A
el9.x86_64 PIGSTY 0.114 PIGSTY 0.114 PIGSTY 0.114 PIGSTY 0.114 N/A
el9.aarch64 PIGSTY 0.114 PIGSTY 0.114 PIGSTY 0.114 PIGSTY 0.114 N/A
el10.x86_64 PIGSTY 0.114 PIGSTY 0.114 PIGSTY 0.114 PIGSTY 0.114 N/A
el10.aarch64 PIGSTY 0.114 PIGSTY 0.114 PIGSTY 0.114 PIGSTY 0.114 N/A
d12.x86_64 PIGSTY 0.114 PIGSTY 0.114 PIGSTY 0.114 PIGSTY 0.114 N/A
d12.aarch64 PIGSTY 0.114 PIGSTY 0.114 PIGSTY 0.114 PIGSTY 0.114 N/A
d13.x86_64 PGDG 0.114 PGDG 0.114 PGDG 0.114 PGDG 0.114 N/A
d13.aarch64 PGDG 0.114 PGDG 0.114 PGDG 0.114 PGDG 0.114 N/A
u22.x86_64 PIGSTY 0.114 PIGSTY 0.114 PIGSTY 0.114 PIGSTY 0.114 N/A
u22.aarch64 PIGSTY 0.114 PIGSTY 0.114 PIGSTY 0.114 PIGSTY 0.114 N/A
u24.x86_64 PIGSTY 0.114 PIGSTY 0.114 PIGSTY 0.114 PIGSTY 0.114 N/A
u24.aarch64 PIGSTY 0.114 PIGSTY 0.114 PIGSTY 0.114 PIGSTY 0.114 N/A
u26.x86_64 PGDG 0.114 PGDG 0.114 PGDG 0.114 PGDG 0.114 N/A
u26.aarch64 PGDG 0.114 PGDG 0.114 PGDG 0.114 PGDG 0.114 N/A

Source

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_core;		# install by extension name, for the current active PG version

pig install documentdb_core -v 18;   # install for PG 18
pig install documentdb_core -v 17;   # install for PG 17
pig install documentdb_core -v 16;   # install for PG 16
pig install documentdb_core -v 15;   # install for PG 15

Config this extension to shared_preload_libraries:

shared_preload_libraries = 'pg_documentdb, pg_documentdb_core';

Create this extension with:

CREATE EXTENSION documentdb_core;

Usage

Sources:

documentdb_core is the low-level BSON type and operator layer used by DocumentDB. It is normally installed as a dependency of documentdb; by itself it does not provide collection CRUD, the MongoDB wire protocol, or the gateway.

Configure and Install

pg_documentdb_core must be loaded through shared_preload_libraries, followed by a PostgreSQL restart:

shared_preload_libraries = 'pg_documentdb_core'

For a complete single-node stack, the official helper also preloads pg_cron and pg_documentdb. Install the parent extension in normal deployments:

CREATE EXTENSION documentdb CASCADE;

Direct installation is useful only for low-level BSON work:

CREATE EXTENSION documentdb_core;

The extension is superuser-only and non-relocatable.

BSON Workflow

SELECT '{"name":"Ada","score":42}'::documentdb_core.bson;

SELECT documentdb_core.bson_get_value_text(
  '{"name":"Ada","score":42}'::documentdb_core.bson,
  'name'
);

Use explicit schema qualification unless documentdb_core is in search_path.

Important Objects

  • documentdb_core.bson stores BSON documents.
  • documentdb_core.bsonquery represents BSON query values used by the DocumentDB planner and operator layer.
  • documentdb_core.bsonsequence represents sequences of BSON values.
  • bson_get_value and bson_get_value_text, also exposed through -> and ->>, extract a path from a BSON document.
  • bson_from_bytea, bson_to_bytea, bson_json_to_bson, and bson_to_json_string support serialization boundaries.
  • bson_btree_ops and bson_hash_ops provide comparison and hashing support required by higher layers.

Operational Boundaries

BSON comparison, indexing, and numeric semantics follow DocumentDB’s implementation and should not be assumed to match PostgreSQL jsonb. Most objects are infrastructure for documentdb; applications seeking collections and MongoDB commands should use the parent extension or gateway rather than building directly on internal types.

Version 0.114-0 keeps documentdb_core aligned with the rest of the DocumentDB stack. The upstream changelog does not identify a separate end-user core API migration for this release, so no new standalone workflow is claimed.