documentdb
documentdb : API surface for DocumentDB for PostgreSQL
Overview
| ID | Extension | Package | Version | Category | License | Language |
|---|---|---|---|---|---|---|
| 9000 | documentdb
|
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 | |
|---|---|
| Requires | documentdb_core
pg_cron
postgis
tsm_system_rows
vector
|
| Need By | documentdb_distributed
documentdb_extended_rum
|
| See Also | mongo_fdw
wal2mongo
pg_jsonschema
jsquery
|
| Siblings | documentdb_core
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 |
documentdb_core, pg_cron, postgis, tsm_system_rows, vector |
| 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 -v 18; # install for PG 18
pig install documentdb -v 17; # install for PG 17
pig install documentdb -v 16; # install for PG 16
pig install documentdb -v 15; # install for PG 15Config this extension to shared_preload_libraries:
shared_preload_libraries = 'pg_documentdb, pg_documentdb_core, pg_cron';Create this extension with:
CREATE EXTENSION documentdb CASCADE; -- requires documentdb_core, pg_cron, postgis, tsm_system_rows, vectorUsage
Sources:
- DocumentDB v0.114-0 README
- DocumentDB v0.114-0 changelog
documentdbcontrol file- Official preload helper
documentdb is the public PostgreSQL API extension for DocumentDB, an open-source MongoDB-compatible document database built on PostgreSQL. It stores BSON documents and implements CRUD, aggregation, full-text, geospatial, and vector workflows. MongoDB drivers require the separate DocumentDB gateway; installing this extension alone exposes the PostgreSQL API, not a wire-protocol listener.
Configure and Install
The official deployment helper preloads the core and API libraries with pg_cron. Restart PostgreSQL after changing this setting:
shared_preload_libraries = 'pg_cron, pg_documentdb_core, pg_documentdb'Install the public extension and its declared dependencies:
CREATE EXTENSION documentdb CASCADE;CASCADE can install documentdb_core, pg_cron, tsm_system_rows, vector, and postgis when their files are present. Installation is superuser-only and non-relocatable.
Native SQL Workflow
The SQL surface uses a database name, collection name, and BSON command document:
SELECT documentdb_api.create_collection('appdb', 'people');
SELECT documentdb_api.insert_one(
'appdb',
'people',
'{"_id": 1, "name": "Ada", "team": "storage"}',
NULL
);
SELECT document
FROM documentdb_api_catalog.bson_aggregation_find(
'appdb',
'{"find":"people","filter":{"team":"storage"}}'
);For application compatibility, run the gateway and use a supported MongoDB driver against its configured TLS endpoint. The gateway translates wire-protocol commands into this PostgreSQL API.
Important Objects
documentdb_apicontains collection-management and command functions such ascreate_collectionandinsert_one.documentdb_api_catalog.bson_aggregation_findexecutes a MongoDB-style find specification and returns BSON documents.documentdb_core.bsonis the storage and interchange type supplied bydocumentdb_core.- DocumentDB roles and internal schemas separate public read/write operations from administrative and implementation objects.
documentdb.enableNonBlockingUniqueIndexBuildcontrols the v0.114 path for background unique ordered-index builds and is enabled by default in that release.
Version and Operational Notes
The v0.114-0 tagged changelog enables schema validation by default, fixes validator propagation and caching, and enables non-blocking unique ordered-index builds. It also records gateway configuration, connectivity-check, TLS, and credential-handling improvements. Two RUM optimizations in that changelog remain feature-flagged and disabled by default; do not describe them as active behavior.
MongoDB compatibility is not identical to every MongoDB server version. Test operators, index behavior, transactions, schema validation, authentication, and driver behavior used by the application. Match documentdb, documentdb_core, gateway, and optional distributed/index components to the same release line.