后端数据库文档数据库【免费下载链接】FerretDBA truly Open Source MongoDB alternative项目地址https://gitcode.com/gh_mirrors/fe/FerretDB点击查看免费下载FerretDB 是一款真正开源的 MongoDB 替代品其核心设计理念是将 MongoDB 友好、易用的查询语法映射到 PostgreSQL 后端之上因此几乎所有 PostgreSQL 生态中的管理、扩展与部署工具都能直接复用。本篇技术指南将以官方博客文档为主体讲解如何借助 CommandPrompt 出品的开源 Postgres GUI 工具PgManage完成 FerretDB 数据的管理、查询与服务器配置并辅以仓库源码与配置文件佐证关键实现细节。读者读完本文后将掌握从 Docker 搭建 FerretDB PostgreSQL 环境、写入 MongoDB 示例数据到在 PgManage 中连接并运维整套数据库的完整实战链路。PgManage为 Postgres 而生的开源 GUI 管理平台FerretDB 的一大优势在于你可以把它部署在几乎任何 PostgreSQL 管理架构之上进行管理、扩展与运维PgManage 正是其中之一。PgManage 是 CommandPrompt, Inc. 提供的开源 Postgres GUI 管理平台产品虽然仍处于持续开发阶段但已经具备相当完整的可用能力。它能查询并管理多种数据库管理系统包括PostgreSQL、MySQL、SQLite 与 Oracle。其底层构建在现已停止维护的 OmniDB 项目的优秀成果之上提供查询管理、数据库监控、服务器配置等一整套界面化操作能力。对于 FerretDB 用户与爱好者而言PgManage 可以成为管理 FerretDB 数据的理想 Postgres GUI 管理工具——你既能继续使用 MongoDB 的查询习惯写业务代码又能借助成熟的 Postgres 管理界面查看、治理底层数据。安装与设置本教程在 macOS 系统上验证通过同时也提供了适用于其他操作系统的安装方式说明。安装 PgManagePgManage 的安装指南详细列出了 Mac、Windows 与 Linux 系统各自不同的安装选项。需要注意的是在desktop-app桌面应用模式下PgManage 无需注册任何账号只需要设置一个用于凭据加密的master password主密码即可开始使用。设置 FerretDBFerretDB 侧我们采用官方文档中的 Docker 快速启动方案但需要对docker-composeYAML 文件做几处关键调整暴露 Postgres 端口通过端口转发将5432端口开放出来使其能在容器外部被访问这样像 PgManage 这样的应用程序才能直接连接更新认证凭据务必同步修改用户名与密码的认证信息。调整后的docker-compose.yml完整示例如下services: postgres: image: postgres environment: - POSTGRES_USERusername - POSTGRES_PASSWORDpassword - POSTGRES_DBferretdb volumes: - ./data:/var/lib/postgresql/data ports: - 5432:5432 ferretdb: image: ghcr.io/ferretdb/ferretdb restart: on-failure ports: - 27017:27017 environment: - FERRETDB_POSTGRESQL_URLpostgres://postgres:5432/ferretdb networks: default: name: ferretdb随后执行docker compose up -d即可启动全部服务。从源码角度看FERRETDB_POSTGRESQL_URL正是 FerretDB 连接后端 PostgreSQL 的核心环境变量。在仓库的部署文件中可以看到同样的使用模式例如 build/ferretdb.service 中配置为EnvironmentFERRETDB_POSTGRESQL_URLpostgres://127.0.0.1:5432/postgres而 build/ferretdb/evaluation/entrypoint.sh 中则将其与POSTGRES_USER、POSTGRES_PASSWORD、POSTGRES_DB等环境变量动态拼接export FERRETDB_POSTGRESQL_URLpostgresql://${POSTGRES_USER:-postgres}:${POSTGRES_PASSWORD}127.0.0.1:5432/${POSTGRES_DB}。可见该变量的构成约定为postgres://用户名[:密码]主机:端口/数据库名其中5432是 FerretDB 默认连接的 PostgreSQL 端口。仓库根目录的 docker-compose.yml 还展示了更贴近开发环境的配置参考同样将5432端口映射到宿主机并设置POSTGRES_USERpg-user、POSTGRES_PASSWORDpg-pass等凭据变量同时通过-c max_connections400等 Postgres 启动参数调整连接容量——这些经验都可以迁移到你的自定义 compose 文件中。FerretDB 中的基本操作FerretDB 使你能够执行 MongoDB 的查询与命令并将数据存储到 Postgres 中。为了演示我们向 FerretDB 数据库写入一批示例数据。如果你本机装有mongosh可直接使用以下连接 URI替换为正确的认证凭据连接 FerretDBmongodb://username:password127.0.0.1/ferretdb?authMechanismPLAIN如果没有安装mongosh也可以通过临时 MongoDB 容器来运行docker run --rm -it --networkferretdb --entrypointmongosh mongo \ mongodb://username:passwordferretdb/ferretdb?authMechanismPLAIN连接字符串中需要指定authMechanismPLAIN即明文密码认证机制这是 FerretDB 为简化 Docker 场景认证而支持的方式此外请确认容器加入了与 compose 文件一致的ferretdb网络以便通过服务名ferretdb解析到 FerretDB 容器。接下来向testdata集合插入两条示例数据终端输出大致如下$ docker run --rm -it --networkferretdb --entrypointmongosh mongo \ mongodb://username:passwordferretdb/ferretdb?authMechanismPLAIN Current Mongosh Log ID: 64e7657774614fd82dd9853c Connecting to: mongodb://credentialsferretdb/ferretdb?authMechanismPLAINdirectConnectiontrueappNamemongosh1.10.1 Using MongoDB: 6.0.42 Using Mongosh: 1.10.1 For mongosh info see: https://docs.mongodb.com/mongodb-shell/ To help improve our products, anonymous usage data is collected and sent to MongoDB periodically (https://www.mongodb.com/legal/privacy-policy). You can opt-out by running the disableTelemetry() command. ------ The server generated these startup warnings when booting 2023-08-24T14:13:12.343Z: Powered by FerretDB v1.8.0 and PostgreSQL 15.4. 2023-08-24T14:13:12.343Z: Please star us on GitHub: https://github.com/FerretDB/FerretDB. 2023-08-24T14:13:12.343Z: The telemetry state is undecided. 2023-08-24T14:13:12.344Z: Read more about FerretDB telemetry and how to opt out at https://beacon.ferretdb.io. ------ ferretdb db.testdata.insertMany([{a: b, b: 34}, {a: c, b: [3, 5]}]) { acknowledged: true, insertedIds: { 0: ObjectId(64e765e074614fd82dd9853d), 1: ObjectId(64e765e074614fd82dd9853e) } }从启动日志可以看到本次会话由 FerretDB 与 PostgreSQL 15.4 共同支撑这也印证了FerretDB 协议兼容层 Postgres 存储引擎的分层架构。插入成功后返回的两条ObjectId即为文档的 MongoDB 风格唯一标识。连接 PgManage 与 FerretDB使用上面暴露出来的 Postgres 端口5432配合该用户的认证凭据即可在 PgManage 中连接ferretdb数据库。具体步骤登录 PgManage 后切换到Connections连接选项卡点击Manage connections管理连接随后添加一条新连接。填写完毕后先测试连接Test the connection以确保成功再保存更改。连接建立后PgManage 就能访问ferretdb数据库中的全部数据。如下图所示PgManage 会展示ferretdb中的全部数据库与表。要查看刚写入的示例数据可以导航到ferretdb数据库在本例中即ferretdbschema然后查询testdata表中的全部数据。此时在 PgManage 中能看到数据的JSONB 视图——这正是 FerretDB 将 BSON 文档映射到 Postgres 的典型呈现方式MongoDB 侧以 BSON 存储的嵌套结构如{a: c, b: [3, 5]}中的数组b在 Postgres 中会被保存为 JSONB 类型便于保持文档的完整语义。使用 PgManage 为 FerretDB 执行服务器配置借助 PgManage用户可以便捷地管理数据库、访问并修改服务器配置同时充分利用其友好的用户界面与直接的ALTER SYSTEM命令支持。这种直截了当的方式免去了手动编辑postgresql.conf文件的麻烦。操作方法是在数据库对象树中右键单击根节点然后从下拉菜单中选择Server configuration服务器配置。随后即可像在普通 PostgreSQL 数据库中一样在 PgManage 界面内配置各项服务器设置。此外用户还可以借助 PgManage 的Config History配置历史下拉菜单追踪每一次配置变更并在需要时回退到之前的版本——这为 FerretDB 底层 Postgres 实例的调优提供了可审计、可回滚的安全保障。结论FerretDB 让用户既能享受 MongoDB 友好易用的查询语法又能获得 PostgreSQL 后端的可靠性与健壮性——两者兼得。而对于 PostgreSQL 管理员来说PgManage 是管理 FerretDB 数据库的得力工具它提供了一个直观的界面来管理、扩展和配置你的服务器。关于 FerretDB 的更多信息可参阅仓库的 README、官方文档以及 GitHub 主页。无论你是 MongoDB 开发者希望透视底层存储还是 PostgreSQL DBA 希望用熟悉的工具接管 MongoDB 工作负载这套 FerretDB PgManage 的组合都值得一试。赞分享后端数据库文档数据库【免费下载链接】FerretDBA truly Open Source MongoDB alternative项目地址https://gitcode.com/gh_mirrors/fe/FerretDB点击查看免费下载相关推荐Mathesar基于PostgreSQL的数据管理工具Mathesar基于PostgreSQL的数据管理工具 1. 项目介绍 Mathesar是一款开源的数据管理工具它提供了一个类似电子表格的界面允许不同技术数据库后端前端协作RedisDesktopManagerRedis数据库管理的终极GUI工具RedisDesktopManagerRedis数据库管理的终极GUI工具 RedisDesktopManager现更名为RESP.app是一个跨平台的开数据库客户端桌面应用LiteDB Studio 使用教程轻量级NoSQL数据库的GUI管理工具LiteDB Studio 使用教程轻量级NoSQL数据库的GUI管理工具 项目介绍 LiteDB Studio 是一个专门为 LiteDB v5 设计的图形桌面应用数据库客户端创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
企业数字化 ERP 产品动态
相关推荐
RK3588适配飞牛FnNAS:ARM架构NAS移植深度实践 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/24 11:02:28
高可靠性轻触开关选型与验证:汽车电子与AI硬件实战指南 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/24 11:01:57
Vivado版本降级实操:用TCL脚本将2023.2工程迁移到2020.2 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/24 11:01:51
【Dify】FLUX绘画机器人多模态识别与语音交互自动化 以多模态智能交互为核心的自动化创作方式,正推动AI艺术、教育与硬件结合的快速发展。视觉识别、语音播报与机器人控制的结合,为传统绘画和教学带来了新的可能。
本文梳理FLUX绘画机器人结合多模态识别和语音播报的完整工作流,实现从图片输入、内容识别、创意生成到语音解读… · 2026/9/24 17:03:27
国军标B码闰秒的测试方法 此图来自成都云智优创科技有限公司www.iyzyc.cn简介GJB-B码发生器测试仪是专门用于产生B码的测试仪,借助它可以用来测试带B码对时的接收设备。通过配置软件,可以输出为任意时间,特别是对临界时间的测试,比如2099年12月31日23时59分… · 2026/9/24 17:03:27
大麦自动抢票指南:Python Selenium + Appium 双端抢票脚本完整教程 大麦自动抢票指南:Python Selenium Appium 双端抢票脚本完整教程 【免费下载链接】ticket-purchase 大麦自动抢票,支持人员、城市、日期场次、价格选择 项目地址: https://gitcode.com/GitHub_Trending/ti/ticket-purchase
ticket-purchase 是一… · 2026/9/24 17:02:56
ParlAI Seq2Seq Agent 深度指南:基于 RNN 的序列到序列生成模型 NLP人工智能深度学习 【免费下载链接】ParlAI A framework for training and evaluating AI models on a variety of openly available dialogue datasets. 项目地址: https://gitcode.com/gh_mirrors/pa/ParlAI 点击查看 免费下载 本指南围绕 ParlAI 仓库中 parla… · 2026/9/24 17:02:56
Yii 2 错误处理完全指南:ErrorHandler 组件、异常页面定制与多格式错误响应 Yii 2 错误处理完全指南:ErrorHandler 组件、异常页面定制与多格式错误响应 【免费下载链接】yii2 Yii 2: The Fast, Secure and Professional PHP Framework 项目地址: https://gitcode.com/gh_mirrors/yi/yii2
本篇技术指南以 Yii 2 内置的 yii\web\ErrorH… · 2026/9/24 17:02:56
前端实战:滚动监听实现顶部 logo 平滑显隐效果 开发弹窗、侧边抽屉、全屏遮罩这类组件时,经常会遇到一个问题:弹窗弹出后,底层页面依然可以滚动,体验很差。常见方案就是控制 body 的滚动,本文使用 jQuery 实现禁止页面滑动和恢复页面滑动,同时说明坑点。… · 2026/9/24 17:02:56
基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程 简介:这是一套面向计算机、人工智能、自动化等专业学生与教师的毕业设计级项目资源,围绕YOLOv8实现渔船作业监控系统,可用于毕设、课程设计、大作业或项目立项演示。压缩包共97个文件,约24.21MB,以70个Python源码文件为… · 2026/9/24 0:00:13
1D-CNN时间序列建模实战:从Conv1d原理到工业落地 简介:面向时间序列数据建模的一维卷积神经网络完整实现,适合深度学习入门者及需要快速验证时序模型的研究者,能够从音频、文本、传感器或股价等序列中挖掘局部特征与时间依赖。压缩包体积很小,只有3KB,内含3个Python脚… · 2026/9/24 0:00:26
柔软的L:汉语语流中被忽视的舌肌张力控制 1. 这个“L”不是字母表里的L,而是舌尖上的L最近在几个方言群和语音教学社群里,反复看到有人发一句:“也说字母L:柔软的长舌”。初看以为是英语发音课笔记,点开才发现全是方言爱好者、播音系学生、语言康复师甚至戏曲演… · 2026/9/24 0:00:44