DbGate:一个能管16种数据库的跨平台客户端
文章目录
- DbGate:一个能管16种数据库的跨平台客户端
- 1、 支持的数据库
- 2、 核心功能
- 3、 跨平台部署
- 4、 技术栈
- 5、 适用场景
DbGate:一个能管16种数据库的跨平台客户端
dbgate 在 GitHub 上拿到了近 7000 Star。
数据库管理工具有很多选择,DbGate 的定位比较明确:跨平台、多数据库支持、功能实用不臃肿。桌面端、Web 端、Docker 容器都能跑,GPL-3.0 开源协议。对于需要在 MySQL、PostgreSQL、MongoDB 之间来回切换的人来说,统一入口省去不少麻烦。
1、 支持的数据库
DbGate 覆盖了 16 种数据库。关系型这边有 MySQL、PostgreSQL、SQL Server、Oracle、MariaDB、SQLite、CockroachDB、Firebird、DuckDB 和 ClickHouse。NoSQL 方面包括 MongoDB、Redis 和 Cassandra。Premium 版本还支持 Amazon Redshift、libSQL/Turso、CosmosDB 和 Firestore。
日常工作中会碰到的数据库,基本都覆盖了。一个工具连接所有数据源,不需要在多个客户端之间来回切换。
2、 核心功能
数据浏览和编辑是基础。表数据支持多种过滤方式,包括类似 Excel 的多值过滤。编辑数据时会预览生成的 SQL 变更脚本,确认后再执行。表结构、索引、主键和外键都可以在界面中直接修改。外键相关的关联数据处理比较到位:主从视图、外键查找、在平铺数据视图中展开关联表的字段,这些都能减少手动 JOIN 查询的次数。
几个进阶功能的实用度较高:
- ER 图:自动根据数据库结构生成实体关系图,直观看到表之间的关联
- 查询设计器:可视化构建 SQL 查询,不需要手写代码也能完成复杂查询,支持 WHERE NOT EXISTS 这类条件
- 查询透视:在关系数据上提供嵌套表视图,把关联表的数据折叠在一起查看
- 表单视图:当表有几十个字段时,表单模式逐条查看比横向滚动表格更舒适
- Schema 对比与同步:比较两个数据库的结构差异,自动生成同步脚本
SQL 编辑器配备了代码补全、SQL 格式化、自动生成 LEFT/INNER/RIGHT JOIN 语句。MongoDB 有独立的 JavaScript 编辑器,支持 Node.js 语法写脚本。Redis 提供树形视图浏览键值,可直接生成脚本并运行。
数据导入导出覆盖 CSV、Excel、JSON、NDJSON、XML、DBF 等格式,支持批量操作。文档提到 NDJSON 可以用于数据归档,把数据备份到本地文件系统,也可以直接编辑和查看大型 NDJSON 文件。内置图表功能,查询结果可以生成柱状图或折线图,并能导出为独立的 HTML 页面。GEO 数据支持地图可视化,同样可以导出。
较新版本加入了 AI 对话功能,用自然语言即可查询数据库。插件体系也值得一提:社区可以开发自定义主题共享到 DbGate Cloud,也可以编写新的数据库驱动或文件格式解析器,作为 NPM 包独立发布。
3、 跨平台部署
四种运行方式:Windows、Linux、Mac 桌面应用、浏览器在线使用、NPM 包启动 Web 服务,以及 Docker 容器部署。Docker 镜像可以直接从 Docker Hub 拉取,一行命令启动服务,然后通过浏览器访问。团队成员不需要各自安装客户端,有浏览器就能用。官网也提供了在线试用环境,无需安装即可体验完整功能。
4、 技术栈
前端用 Svelte,后端是 Node.js + Express,桌面端通过 Electron 打包,主力语言 TypeScript。插件体系基于 NPM 包机制,文件格式解析器和数据库驱动都可以打包成独立插件发布。项目在依赖管理上比较克制,核心只引入必要的数据库连接驱动,没有拖一个重型框架。这也是它能同时保持桌面端和 Web 端一致体验的原因之一。
5、 适用场景
需要同时管理多种数据库、又不想每台机器装一堆客户端的场景。个人开发者的本地环境、小团队的数据管理、运维人员的日常查询都很适合。Web 部署模式特别适合团队协作,把数据库访问入口统一起来,权限管理也更可控。
询都很适合。Web 部署模式特别适合团队协作,把数据库访问入口统一起来,权限管理也更可控。
