documentdb_core
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
|
| Relationships | |
|---|---|
| Need By | documentdb
documentdb_distributed
|
| See Also | mongo_fdw
rum
pg_jsonschema
jsquery
pg_cron
postgis
vector
|
| Siblings | documentdb
documentdb_distributed
documentdb_extended_rum
|
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/debInstall
Make sure PGDG and PIGSTY repo available:
pig repo add pgsql -u # add both repo and update cacheInstall 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 15Config 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 v0.114-0 README
documentdb_corecontrol file- BSON SQL definitions
- Official preload helper
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.bsonstores BSON documents.documentdb_core.bsonqueryrepresents BSON query values used by the DocumentDB planner and operator layer.documentdb_core.bsonsequencerepresents sequences of BSON values.bson_get_valueandbson_get_value_text, also exposed through->and->>, extract a path from a BSON document.bson_from_bytea,bson_to_bytea,bson_json_to_bson, andbson_to_json_stringsupport serialization boundaries.bson_btree_opsandbson_hash_opsprovide 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.