Module: FERRET

Pigsty has built-in FerretDB support, which is a MongoDB compatiable middleware based on PostgreSQL.

MongoDB was once a stunning technology, allowing developers to cast aside the “schema constraints” of relational databases and quickly build applications. However, over time, MongoDB abandoned its open-source nature, changing its license to SSPL, which made it unusable for many open-source projects and early commercial projects. Most MongoDB users actually do not need the advanced features provided by MongoDB, but they do need an easy-to-use open-source document database solution. To fill this gap, FerretDB was born.

PostgreSQL’s JSON functionality is already well-rounded: binary storage JSONB, GIN arbitrary field indexing, various JSON processing functions, JSON PATH, and JSON Schema, it has long been a fully-featured, high-performance document database. However, providing alternative functionality and direct emulation are not the same. FerretDB can provide a smooth transition to PostgreSQL for applications driven by MongoDB drivers.

Pigsty provided a Docker-Compose support for FerretDB in 1.x, and native deployment support since v2.3. As an optional feature, it greatly benefits the enrichment of the PostgreSQL ecosystem. The Pigsty community has already become a partner with the FerretDB community, and we shall find more opportunities to work together in the future.

Currently, FerretDB 2.0 provides a new version based on the Microsoft DocumentDB extension plugin, which is now officially supported in Pigsty v3.3.


Usage

Quick start guide for FerretDB - how to get started, connect reliably, and use the mongosh client tool

Configuration

Configure FerretDB cluster and its required PostgreSQL cluster

Administration

FerretDB administration playbooks, dashboards, and SOPs

Metrics

Pigsty MONGO module metric list

FAQ

Pigsty FerretDB / MONGO module frequently asked questions


Last modified 2025-03-21: replace vonng to pgsty (75336f2)