苹果迷苹果迷  2026-09-13 11:32 苹果家园 隐藏边栏 |   抢沙发  3 
文章评分 0 次,平均分 0.0
导语: TablePro 是面向 macOS 的免费开源数据库客户端,用 SwiftUI 原生编写,冷启动不到 1 秒、空闲内存约 80MB,支持 29 种数据库,内置 SQL 编辑器、数据网格与 MCP 服务器,代码按 AGPLv3 开放。

TablePro 是一款面向 macOS 的免费开源数据库客户端,用 Swift 与 SwiftUI 原生编写,一个窗口就能连接 29 种数据库。官方实测冷启动不到 1 秒、空闲内存约 80MB,没有 Electron、没有 JDBC,也没有 JavaScript 运行时。

TablePro 是什么?它解决什么问题

作者在 README 里写得很直白:想做的是「我希望 TablePlus 变成的样子」——原生、快、开源。这句话背后其实是一个长期存在的空缺。

macOS 上的数据库客户端大致分三类。第一类是单一数据库的开源工具,比如只支持 MySQL 的 Sequel Ace、只支持 PostgreSQL 的 Postico,用起来舒服,但你手上只要有第二种数据库就得再装一个。第二类是多数据库的闭源工具,代表是 TablePlus,原生、精致,但需要按设备付费。第三类是多数据库但不原生的工具,DBeaver 跑在 JVM 上,Beekeeper Studio 与 DBGate 是 Electron 应用,跨平台没问题,代价是启动慢、内存占用高。

TablePro 补的是第四种组合:原生、多数据库、开源,三者同时成立。

原生不是一句口号,而是可量的数字

官方给出的基准测试条件是:M4 MacBook Pro、macOS 27,测量冷启动到第一个窗口出现,并打开一个 PostgreSQL 连接。结果是冷启动低于 1 秒,空闲内存约 80MB。这个量级基本说明了「不套壳」的实际收益——不用为 Chromium 或 JVM 付启动费和内存税。

一个人全职维护,靠授权费而不是投资

TablePro 由一位开发者全职开发,官方明确写了商业模型:不拿融资、不卖数据,收入来自授权购买和赞助,全部回到下个版本的开发里。项目在 GitHub 上公开迭代,带公开的更新日志、Discord 社区,迭代节奏大约每月十个版本。这套模式的好处是方向清晰、不靠烧钱换增长;风险也很直白——单点维护(限制一节会再提)。

支持哪些数据库?29 种引擎、23 个原生驱动

官方口径是 29 种数据库条目,跑在 23 个原生驱动插件之上。驱动数量少于数据库数量,是因为一个驱动可以服务多个引擎:PostgreSQL 驱动同时负责 Amazon Redshift、CockroachDB 与 PGlite,Cassandra 驱动同时负责 ScyllaDB,libSQL 驱动同时服务 Turso。

分发方式分两层:9 种随应用内置,另外 20 种在你第一次选中它时从插件注册表下载,校验签名后安装,全程不用重启应用。

底层没有一层通用的「万能驱动」。官方列出的实现包括 libpq、libmariadb、hiredis、libmongoc、libcassandra、FreeTDS 与 OracleNIO;Teradata 和 Trino 则是用纯 Swift 直接实现它们的线协议。

分发方式 覆盖的数据库
随应用内置(9 种) MySQL、MariaDB、PostgreSQL、Amazon Redshift、CockroachDB、PGlite、SQLite、ClickHouse、Redis
注册表按需下载(20 种) MongoDB、Oracle Database、达梦 DM8、Microsoft SQL Server、DuckDB、Cassandra、ScyllaDB、etcd、Elasticsearch、SurrealDB、Cloudflare D1、Cloudflare R2 SQL、DynamoDB、BigQuery、Spanner、Snowflake、libSQL、Turso、Teradata、Trino、Typesense、Beancount
TablePro 的数据库类型选择器,按关系型、文档与键值、嵌入式、云服务、分析型分组列出 MySQL、MariaDB、Oracle、PostgreSQL、SQL Server、SQLite 等类型
数据库类型选择器会把未安装的引擎标注为「Not Installed」,选中即自动下载驱动。图片来源:TablePro 官方文档

插件要过校验和与代码签名两道关

插件系统是 TablePro 铺开 29 种数据库的方式,也是它最需要被审视的地方——驱动插件和应用跑在同一个进程里,理论上能读到你所有已打开连接的口令。官方为此设了三层门槛。

第一层,从注册表下载的插件必须匹配注册表清单里的 SHA-256 校验和,同时 bundle 必须带有效代码签名,否则不加载。第二层,TablePro 自己签名的插件直接安装;由其他人签名的插件,安装前会单独问你一次,并明确告诉你开发者是谁、Apple Team ID 是什么,你拒绝就丢弃。第三层最硬:未签名和临时签名的 bundle 一律拒绝,没有覆盖开关。

官方的原话说得很实在:只有在「你愿意把这个数据库凭据交给该开发者」时才应该点同意,因为授权就是这个含义。信任按开发者记账而不是按插件,所以同一开发者的后续插件不再重复询问,也可以在设置的插件页里一键撤回。主题是例外——它只是不含可执行代码的 JSON,不需要签名,但仍然要比对校验和。

驱动可以自己写

插件目录在 ~/Library/Application Support/TablePro/Plugins,没有网络时可以把 .tableplugin.zip 拖进去离线安装。官方文档里另有插件开发章节,说明如何用 Swift 为自己的数据库写一个驱动。

日常写 SQL 和改数据是什么体验

界面结构是一个窗口一套工作区:左侧是连接与数据对象的侧栏,上方是标签页,主区域是 SQL 编辑器或数据网格,右侧可以拉出检查器。

TablePro 主界面:左侧是表与视图列表,顶部工具栏显示当前连接为本地 MariaDB 与用户名,主区域是带行编辑状态着色的数据网格
主界面把连接信息、对象列表、查询标签与数据网格放在同一个窗口里。图片来源:TablePro 官方文档

SQL 编辑器

  • 自动补全:基于缓存的列元数据,能穿过 JOIN 与 CTE 解析别名,而不是只做关键词联想。
  • 成批执行与事务:一批语句在一个事务里跑;失败的那条会被点名,整批回滚。
  • 快捷键:⌘⏎ 执行光标所在语句,⌘⇧⏎ 执行全部,⌘⌥⏎ 执行且不设上限,⌘. 取消。
  • 行数上限:默认 10,000 行,最高可调到 500,000;你自己在 SQL 里写的 LIMIT 优先级更高。
  • Vim 模式:六种模式、motions、text objects、寄存器、标记与宏,:w 直接执行查询。
  • 其他:语法主题、代码折叠(可折叠语句、CTE、子查询与 BEGIN 块)、多光标、查询参数面板(用 :name 占位、按预处理语句执行)、SQL 文件可直接作为查询标签打开并写回。

数据网格

每一种列类型有自己的编辑器——日期有日期选择器,JSON 有独立弹层,二进制有专用查看器。所有改动先在内存里排队,直到你按 ⌘S 才提交;⌘⇧P 可以先看参数化后的 SQL 再决定。撤销、重做、排序、按列筛选、外键值选择器、行详情检查器都在,复制格式支持 CSV、JSON、Markdown、IN 子句、INSERT 与 UPDATE 六种。

两个容易被忽略的性能细节:隐藏的列根本不会被抓取;结果超过 10 万行时,底部分页器改为估算行数而不是精确计数,避免为了一个总数再扫一遍全表。另外,CSV 与 TSV 文件可以直接当作文档打开编辑,不需要先建表再导入。

执行计划、服务器面板与结构编辑

TablePro 对 EXPLAIN (ANALYZE, FORMAT JSON) 的可视化结果:上方是成本着色的执行计划图,下方是可展开的节点树,显示 Sort Time、Cost、Rows 与 Actual Time 列
执行计划同时给三种视图:成本着色的图、可展开的节点树,以及原始文本。图片来源:TablePro 官方文档

查询计划会同时呈现为成本着色的图、可展开的节点树和原始文本,排查慢查询时不用自己对着 JSON 数层级。除此之外还有服务器面板(会话、各引擎指标、慢查询)、用户与角色管理(授予和撤销能精确到单列,不用手写 GRANT,目前覆盖 MySQL 与 PostgreSQL)、表结构编辑(列、索引、外键、主键)、ER 图、PostgreSQL 与 Redshift 的备份还原(复用已有的 SSH 隧道)、以及跨表与历史的模糊搜索入口。

安全:六档 Safe Mode 与本地凭据

数据库客户端的风险不是「能不能连上」,而是「手滑一次会不会直接落在生产库上」。TablePro 的做法是把防护做成按连接配置的六档,并且把最危险的那几类语句设成所有档位都无法跳过的底线。

TablePro 执行前确认弹窗,标题为 Execute Query,正文列出待执行的 UPDATE 语句并高亮参数,底部是 Cancel 与 Execute 按钮
破坏性语句执行前会弹出确认框,并把完整 SQL 摊开给你看。图片来源:TablePro 官方文档

六档防护,按连接设置

档位 写操作 读操作 二次验证
Silent(默认) 直接执行 不额外确认
Alert 需要确认 直接执行
Alert(完整) 需要确认 也需要确认
Safe Mode 确认 + Touch ID 直接执行 Touch ID
Safe Mode(完整) 确认 + Touch ID Touch ID Touch ID
Read-Only 拦截 直接执行

关键在底线:即使处在最宽松的 Silent 档,DROP、TRUNCATE 以及不带 WHERE 条件的 DELETE 依然会停下来询问,这条底线在所有档位都成立。两个细节值得一提——Read-Only 档会连界面一起禁用,而不只是拦查询;主机名或数据库名里出现 prod 字样时,防护等级会自动上调。Safe Mode 档位需要 Touch ID,等于把「确实是我本人在改生产库」这件事绑到指纹上。

密码放在钥匙串,或者干脆不存

凭据默认交给 macOS 钥匙串;连接详情保存在一个纯 JSON 文件里,文件本身不含任何机密。你也可以选择完全不落地保存,改为在连接时从文件、环境变量、shell 命令、1Password、HashiCorp Vault 或 AWS Secrets Manager 解析出来。

网络与隐私

表连接层面没有账号、没有登录,连接路径上也没有 TablePro 的云服务。SSH 隧道与跳板机在进程内串联,不需要系统装 ssh 二进制;同样支持 Cloudflare Tunnel、Cloud SQL Auth Proxy 与 SOCKS5,SSL/TLS 有各引擎的默认值与证书校验开关。

关于「会不会回传数据」:官方说明是没有账号也没有登录,匿名使用数据只是设置里的一个开关,内容不含个人数据与查询语句;iCloud 同步默认关闭,密码同步是同步功能里的另一个独立选项。由于源码公开,这几条都可以自行核对。

AI 与 MCP:让智能体查库,但不给它密码

内置 AI 助手提供聊天、行内建议,以及三个高频动作:⌘L 解释查询、⌘⌥L 优化查询,以及查询失败时出现的 Fix 按钮。所有改动都以 diff 形式呈现,你按下 Apply 才真正落地。

TablePro 设置中的 MCP 配置页面,显示客户端选择为 Claude Code、一行 claude mcp add 安装命令,以及已连接的 claude-code 客户端条目和断开按钮
MCP 配置页会按客户端生成对应的接入命令,并显示当前已连接的客户端。图片来源:TablePro 官方文档

十六个工具,客户端拿到的是受限令牌

MCP 服务器暴露 16 个工具,作用范围是你已保存的连接。官方特别强调了一点:客户端拿到的是受限令牌,而不是数据库凭据本身——智能体始终没有你的口令。

权限分三档,全新安装从最保守的 Ask 开始:

  • Ask(只读):只有 list_connectionslist_tablesdescribe_tableget_table_ddl 这几个只读工具。
  • Edit(增加写):加入 execute_query,可用于 SELECT、INSERT、UPDATE 与 DELETE;破坏性的 DDL 仍然拦在外面。
  • Agent(增加工具循环):加入 confirm_destructive_operation,而且每次都需要你亲手输入「I understand this is irreversible」这句话,永远不能被预先批准。

已适配的客户端包括 Claude Code、Claude Desktop、Cursor、Zed、VS Code、Windsurf、Cline、Continue、Goose、Antigravity 与 Raycast。远程访问默认关闭,一旦打开会同时启用鉴权与 TLS。除 MCP 之外,还有 tablepro:// URL scheme 与 Raycast 扩展,可以从系统别处直接唤起某个连接、表或查询。

十三家服务商,Key 自己带,不卖 AI 订阅

TablePro 不卖 AI 订阅,模型由你自己提供。官方列出 13 家:GitHub Copilot、ChatGPT、Claude、OpenAI、Gemini、xAI、OpenRouter、OpenCode Zen、Ollama、llama.cpp、MLX,以及任何 OpenAI 兼容端点。其中有一些用 API Key,有一些直接登录你已有的账号;Ollama、llama.cpp 与 MLX 三家完全跑在本机。所有密钥存在钥匙串里。

免费还是收费?授权档位与 AGPLv3 边界

先说结论:免费版不是试用版,也不是功能残缺的演示版。它就是整个应用,装在你的每一台 Mac 上,没有倒计时,也没有设备数量限制。

档位 价格 包含内容
Free $0 全部 29 种数据库、SQL 编辑器、数据网格、AI 助手、MCP 服务器、Safe Mode 与 Touch ID、SSH 隧道、ER 图、XLSX 导出,Mac 台数不限
Starter $24 / 年,或 $59 一次性买断(不再续费) 在 Free 之上多 7 项:Compare & Sync、Query Insights、结果图表、iCloud 同步、Linked Folders、加密导出、连接字段里的环境变量;可激活 2 台 Mac
Team $50 / 年,或 $25 一次性;另按 $10 / 席位计,5 席起 在 Starter 之上再加 Team Catalog 与 Team Library;最少 5 个席位

按官方说明,Compare & Sync 用来对比两个库的结构或数据行,脚本会先给你看;Query Insights 统计你跑得最多和变慢了的语句;结果图表从已加载的行里直接画柱状、折线、面积与散点图。加密导出把凭据装进文件里带走,用的是 AES-256-GCM。

授权怎么校验

签名授权在每次启动时离线校验,每 7 天回连一次服务器;如果服务器不可达,最后一次成功校验后有 30 天宽限期,所以断网也能正常用。Starter 激活 2 台 Mac,Team 最少 5 台、之后一席一台;激活绑定哈希硬件 ID,列表里能看到每一台已激活的机器,停用即可释放名额。从别的 Mac 备份恢复过来的授权会在启动时被清掉。订阅到期后应用继续可用,只有 iCloud 同步停止、Starter 与 Team 的功能界面重新出现激活浮层,本地连接、查询、收藏与设置都不受影响。

AGPLv3 对你意味着什么

项目以 GNU Affero 通用公共许可证第 3 版(AGPLv3)发布。三条义务值得说清楚:你可以自由使用、修改和再分发它;分发时必须同时提供完整源码;你对它的修改也要以 AGPL-3.0 授权。AGPL 相比 GPL 更严的一点在于「网络服务」场景——如果你把修改后的版本作为网络服务对外提供,使用者也应当能够取得对应源码。

还需要区分一件事:这些义务附着于「分发修改后的版本」,而不是「使用」。所以拿它在本职工作里查库、连生产库、每天开着用,都不构成分发,也没有公司规模或营收门槛。官方 FAQ 的说法与这一致,并顺带说明:如果公司里用得多,买一份授权就是下个版本的开发来源。

怎么下载安装,以及相关阅读

系统要求是 macOS 14 或更高,Apple Silicon 与 Intel 都支持。安装有三条路:

  • Homebrew(最省事)brew install --cask tablepro
  • GitHub ReleasesReleases 页面提供 arm64 与 x86_64 两种架构的 .dmg 与 .zip
  • 官网下载页tablepro.app/download

项目地址在 github.com/TableProApp/TablePro,完整文档在 docs.tablepro.app,官网是 tablepro.app。手边没有数据库也能试:菜单里的 File > Try Sample Database 会打开内置的 Chinook 示例库。

想从源码构建的话,需要 macOS 14+、Xcode 26+ 与 XcodeGen,依次执行 scripts/download-libs.shscripts/generate-project.sh 生成 Xcode 工程。iPhone 与 iPad 版已经上架,iOS 与 iPadOS 18 以上可用,目前处于 TestFlight 阶段。

站内相关阅读:Navop for Mac - Rust + GPUI 原生一体化运维工作台:数据库、SSH、SFTP、AI Agent 集成,同属「原生多面手」路线,把数据库、SSH 与 AI 塞进一个工作台;G-dis3:Mac 上的 Redis 可视化客户端软件,如果你只需要一个轻量的 Redis 客户端,它是更小的选择;Mostty for Mac - 基于 libghostty 的 Zig 原生终端模拟器,写 SQL 之外你大概也需要一个终端。

有哪些限制,先说清楚

  • 没有 Windows 版,官方 FAQ 直接回答「No」。
  • Linux 只是原型:正在用 Rust 与 GTK4 重写原生 Linux 版,PostgreSQL、MySQL、SQLite 与 SQL Server 已经能跑,但还没到公开测试的程度,目前没有任何可安装的版本。
  • iPhone 版是配套而非复制品:设备上七种引擎(SQLite、DuckDB、MySQL、MariaDB、PostgreSQL、Redis、SQL Server),带 SSH 隧道、Face ID 锁、Handoff 与 Shortcuts 动作;但没有插件注册表、没有 AI 聊天、没有 MCP 服务器,也没有 ER 图,且同步功能需要授权。
  • 有 9 项功能需要授权:Compare & Sync、Query Insights、结果图表、iCloud 同步、Linked Folders、加密导出、环境变量、Team Catalog 与 Team Library。免费版能覆盖日常查库改数据,但团队协作与库间对比要付费。
  • 单点维护风险:整个项目由一位开发者全职维护。迭代很勤,但这类结构的项目在作者停手时风险集中,选型时值得纳入考虑——官方 FAQ 也专门回答了「会不会像 Sequel Pro 那样被弃坑」这个问题。
  • 插件是本机进程内的代码:第三方驱动插件拥有与你相同的凭据访问能力,安装前务必确认开发者身份。

常见问题

TablePro 真的是永久免费吗?

是。应用以 AGPLv3 发布,完整功能不需要授权即可使用,没有试用倒计时,也没有每台 Mac 的数量限制。付费购买的是 9 项进阶功能与团队能力,不是「解锁应用」。

能在公司里用吗?

可以。AGPL 的义务附着于分发修改后的版本,而不是使用本身,也没有公司规模或营收限制。

AI 有可能直接删掉生产库的表吗?

按官方设计不行。聊天有三个带真实工具门控的模式,全新安装从只读的 Ask 档开始;写工具逐次请求批准;破坏性操作除了逐次确认,还必须由你亲手输入那句确认短语,且永远无法预先批准。连接如果被设为 Read-Only 档,无论什么模式都拒绝写入。

能把别的客户端的连接迁过来吗?

可以,支持从 TablePlus、Sequel Ace、DBeaver、DataGrip、Beekeeper Studio 与 Navicat 导入,密码、SSH 隧道与 SSL 设置一并带过来,源应用不需要在运行,分组和文件夹也会保留。另外还可以直接指向一个项目文件夹,让它读取里面的 .env 生成连接。

我的密码存在哪里?

macOS 钥匙串。连接详情是纯 JSON 文件,不含机密。也可以选择完全不保存,连接时从文件、环境变量、shell 命令、1Password、HashiCorp Vault 或 AWS Secrets Manager 解析。

一个授权能覆盖几台 Mac?

Starter 激活 2 台,Team 最少 5 台、之后一席一台。激活绑定哈希硬件 ID,可以随时停用释放名额。

断网能用吗?

能。授权每次启动离线校验,每 7 天回连一次,服务器不可达时有 30 天宽限期。除了访问你自己的数据库,应用本身不需要网络连接。

声明:本文来自投稿,不代表苹果家园立场,版权归原作者所有,欢迎分享本文,转载请保留出处!

发表评论

表情 格式 链接 私密 签到

友情链接

    扫一扫二维码分享