Beekeeper Studio 支持的数据库全景从 PostgreSQL 到 DynamoDB 的驱动支持矩阵与连接实战【免费下载链接】beekeeper-studioModern and easy to use SQL client for MySQL, Postgres, SQLite, SQL Server, and more. Linux, MacOS, and Windows.项目地址: https://gitcode.com/GitHub_Trending/be/beekeeper-studioBeekeeper Studio 是一款跨平台Linux、macOS、Windows的现代 SQL 编辑器与数据库管理工具。本篇文章围绕仓库中 支持的数据库清单该清单会被 README.md 自动引用构建完整梳理社区版与付费版对 28 个数据库的官方支持状态并深入 驱动注册源码 揭示每种数据库的默认端口、特性开关与连接形态最后给出从新建连接到 SSH 隧道、SSL 验证的实操要点。读完本文你将能够依据这份支持矩阵准确判断自己的数据库是否受支持、处于何种支持级别以及如何以正确的方式在 Beekeeper Studio 中建立连接。支持数据库总览一张表格看懂官方支持矩阵官方以一张权威表格统一维护数据库支持状态这份表格位于 docs/includes/supported_databases.md并被 README.md 通过自动构建机制!-- SUPPORT_BEGIN --/!-- SUPPORT_END --注释标记同步渲染到项目首页同时在 docs/user_guide/connecting/supported-databases.md 中通过{% include-markdown ../../includes/supported_databases.md %}直接引入到用户文档站点。表格共有四列含义如下列含义Database数据库产品名称Support官方支持级别⭐ Full Support / Beta Support / ⏳ Coming SoonCommunity社区版免费版是否支持✅ 表示包含Paid Editions付费版Ultimate 等是否支持✅ 表示包含完整表格数据如下与仓库文档逐行一致数据库支持级别社区版付费版PostgreSQL⭐ Full Support✅✅MySQL⭐ Full Support✅✅SQLite⭐ Full Support✅✅SQL Server⭐ Full Support✅✅Amazon Redshift⭐ Full Support✅✅CockroachDB⭐ Full Support✅✅MariaDB⭐ Full Support✅✅TiDB⭐ Full Support✅✅Google BigQuery⭐ Full Support✅✅Redis⭐ Full Support✅✅GreengageDB⭐ Full Support✅✅Oracle Database⭐ Full Support—✅Cassandra⭐ Full Support—✅ScyllaDB⭐ Full Support经 Cassandra 驱动—✅Firebird⭐ Full Support—✅LibSQL⭐ Full Support—✅ClickHouse⭐ Full Support—✅DuckDB⭐ Full Support—✅SQL Anywhere⭐ Full Support—✅MongoDB⭐ Full Support—✅Trino / Presto⭐ Full Support—✅SurrealDB⭐ Full Support—✅Snowflake⭐ Full Support—✅DynamoDB Beta Support—✅SAP HANA⏳ Coming Soon—✅表格中几个值得注意的要点社区版免费覆盖 11 个数据库PostgreSQL、MySQL、SQLite、SQL Server、Amazon Redshift、CockroachDB、MariaDB、TiDB、Google BigQuery、Redis、GreengageDB均同时出现在社区版与付费版中。付费版独享数据库Oracle、Cassandra、ScyllaDB、Firebird、LibSQL、ClickHouse、DuckDB、SQL Anywhere、MongoDB、Trino/Presto、SurrealDB、Snowflake、DynamoDB 属于付费Ultimate版本能力。支持级别定义⭐ Full Support 表示官方团队完整支持并验证可正常工作 Beta Support 表示官方团队已支持并验证可用但可能存在少量小缺陷⏳ Coming Soon 表示正在开发中。ScyllaDB 与 Cassandra 的兼容关系表格明确标注 ScyllaDB 是「经 Cassandra 驱动」提供的 Drop-in 兼容支持。从清单到实现驱动注册表里的数据库特性真相支持矩阵并非营销文案而是与仓库源码中的驱动注册表一一对应。核心实现在 apps/studio/src/lib/db/clients/index.ts 的CLIENTS数组中每个条目通过key、name、defaultPort、defaultDatabase与disabledFeatures字段描述一种数据库连接能力export const CLIENTS: ClientConfig[] [ { key: postgresql, name: PostgreSQL, defaultDatabase: postgres, defaultPort: 5432, disabledFeatures: [server:domain], }, // ... ];findClient(key)会按key查找配置并动态生成supports(feature)能力判断export function findClient(key: string): Client | undefined { const client CLIENTS.find((cli) cli.key key); if (!client) return undefined; return { ...client, get supportsSocketPath(): boolean { return this.supports(server:socketPath); }, supports(feature: string): boolean { return !client.disabledFeatures?.includes(feature); }, }; }即凡未被列入disabledFeatures的功能该数据库默认都支持。这一机制决定了新建连接表单中每个字段SSL、SSH、Socket、Schema、域名、建表脚本等是否可见或可填是理解各数据库连接选项差异的钥匙。各数据库的默认端口与默认数据库结合注册表源码各数据库的连接默认参数如下这些值会被预先填入新建连接表单通常无需手动修改key数据库默认端口默认数据库postgresqlPostgreSQL5432postgresgreengageGreengageDB5432postgresredshiftAmazon Redshift5432postgresmysqlMySQL3306—mariadbMariaDB3306—sqlserverMicrosoft SQL Server1433—sqliteSQLite—本地文件默认:memory::memory:cassandraCassandra9042—scylladbScyllaDB9042—oracleOracle1521—bigqueryBigQuery443—firebirdFirebird3050—starrocksStarRocks9030—tidbTiDB4000—libsqlLibSQL8080本地文件默认:memory::memory:duckdbDuckDB—本地文件默认:memory::memory:trinoTrino8080—clickhouseClickHouse8123—sqlanywhereSqlAnywhere2638—surrealdbSurrealDB8000—redisRedis63790bedrockBedrock3306—dynamodbDynamoDB8000—snowflakeSnowflake——各数据库禁用的功能特性disabledFeatures精确刻画了每种数据库的连接形态差异从源码逐条整理如下SQLite / LibSQL / DuckDB这三类嵌入式/本地文件数据库禁用了几乎全部服务器端特性——server:ssl、server:host、server:port、server:socketPath、server:user、server:password、server:schema、server:domain、server:sshSQLite 与 LibSQL 还禁用了scriptCreateTable可视化建表脚本与cancelQuery取消查询。这也是为什么连接 SQLite 时只需要选择.db文件路径、无需填写主机端口。DuckDB 保留了scriptCreateTable但同样禁用cancelQuery源码注释标注// TODO how to do this?即取消查询能力尚待实现。MySQL / MariaDB / TiDB / StarRocks / Bedrock禁用server:schema、server:domain、server:socketPathWithCustomPort但保留了 socket 连接server:socketPath未禁用与官方连接文档中「MySQL 默认本地安装即使用 socket」的描述一致其中 MySQL 在 docs/user_guide/connecting/connecting.md 中被明确作为 socket 连接的典型例子。PostgreSQL / GreengageDB仅禁用server:domain其余能力SSL、SSH、socket、schema全部开放。Amazon Redshift禁用server:domain、server:socketPath、server:socketPathWithCustomPort即只能走 TCP 连接。CockroachDB禁用server:domain、server:socketPath、server:socketPathWithCustomPort。SQL Server禁用server:socketPath、server:socketPathWithCustomPort。Oracle禁用server:socketPath、server:socketPathWithCustomPort。Firebird禁用server:schema、server:socketPath、server:socketPathWithCustomPort。Cassandra / ScyllaDB禁用server:ssl、server:socketPath、server:schema、server:domain、scriptCreateTable、cancelQuery、server:socketPathWithCustomPort。两者配置几乎一致再次印证「ScyllaDB 经 Cassandra 驱动提供兼容支持」。BigQuery作为云原生数据仓库禁用server:ssl、server:socketPath、server:user、server:password、server:schema、server:domain、server:ssh、scriptCreateTable默认端口 443。其驱动实现位于 apps/studio/src/lib/db/clients/bigquery.ts底层直接使用google-cloud/bigquery官方 SDK并通过BigQueryCursor见 apps/studio/src/lib/db/clients/bigquery/BigQueryCursor.ts实现流式游标查询。Trino禁用server:socketPath、cancelQuery其topLevelEntity为Catalog意味着侧边栏的顶层实体是目录Catalog与普通数据库的 Schema 层级不同。ClickHouse仅禁用server:socketPath。MongoDB注册表中未声明disabledFeatures即默认支持所有连接能力对应其文档 docs/user_guide/connecting/mongodb.md。Redis禁用server:socketPath、server:socketPathWithCustomPort、server:schema、server:domain、server:ssh、server:user、scriptCreateTable、cancelQuery默认数据库为0。驱动实现在 apps/studio/src/lib/db/clients/redis.ts底层使用redisnode-redis v4客户端并通过redis-splitargs解析命令参数。SurrealDB禁用server:socketPath、server:socketPathWithCustomPort、server:ssl。DynamoDB作为 Beta 支持数据库几乎禁用所有传统连接字段host、port、user、password、domain、schema、ssl、ssh、socketPath 等连接依赖 AWS 凭证体系。SnowflakedisabledFeatures为空数组表示默认开放全部连接特性。值得强调的是支持矩阵文档与驱动注册表在版本演进上是同步的例如 Snowflake 的迁移脚本 20260501_add_snowflake_options.js、DynamoDB 的 20260417_add_dynamodb_options.js、SurrealDB 的 20250702_add_surrealdb_options.js 等迁移文件均反映了这些新数据库的连接选项逐步落入应用数据库存储的过程。跨平台一致性一份支持矩阵三端同一能力支持文档 docs/user_guide/connecting/supported-databases.md 开篇即声明Beekeeper Studio hasfull feature parityacross all supported operating systems, so the databases below work the same on Windows, MacOS, and Linux.即所有支持的数据库在 Windows、macOS、Linux 三个平台上具有完全一致的功能对等性——同一个数据库在三端的使用方式、功能集合完全相同不存在某端功能缺失的情况。这一承诺与仓库同时维护 Windowselectron-builder 产出.exe/.msi/.nsis安装包、macOS.dmg、Linuxdeb/rpm/AppImage/snap构建产物的工程结构相互印证参见 electron-builder-config.js。实战从支持矩阵到成功连接确认目标数据库位于支持矩阵之后即可按 数据库连接指南 的流程建立连接。Beekeeper Studio 提供三种主要连接方式本地文件型数据库SQLite 等直接在文件管理器中双击.db文件即可用 Beekeeper Studio 打开也可以在终端中通过open postgresql://userhost/databasemacOS或xdg-open postgresql://userhost/databaseLinux从命令行打开连接 URL 或本地文件。TCP 连接在连接界面下拉框选择数据库类型填写主机名Host与端口Port这是绝大多数数据库PostgreSQL、MySQL、SQL Server、Oracle 等的标准方式。Socket 连接仅当数据库服务运行在本机时可用例如 MySQL 默认安装即使用 socket且SSL、SSH 等高级连接选项只在 TCP 连接下可用。首次安装的 Beekeeper Studio 自带一个Demo Database内置于应用的小型 SQLite 数据库可在不连接真实数据库的情况下体验全部功能是评估支持矩阵与界面能力的零成本方式。SSL 连接的三种形态与 sslmode 映射连接表单中的 SSL 配置连接指南 有完整截图说明提供三种模式Trust the server开启 SSL 但不提供自定义证书rejectUnauthorized关闭为默认选项Required Cert开启 SSL、提供自定义证书、关闭rejectUnauthorized校验服务器但不校验证书链Verified Cert开启 SSL、提供自定义证书、开启rejectUnauthorized完整校验证书。命令行客户端常见的sslmode参数与 Beekeeper 的映射关系如下sslmode是否开启 SSLrejectUnauthorizeddisable否n/aallow否n/aprefer否n/arequire是falseverify-ca是falseverify-full是trueSSH 隧道的客户端配置要点对于只能通过跳板机访问的内网数据库Beekeeper Studio 内置 SSH 隧道支持配置项包括SSH Hostname / PortSSH 服务器地址默认端口 22可在表单中修改Bastion HostJumpHost可选当目标网络要求经跳板机中转时填写Keepalive Interval可选以秒为单位指定空闲时的保活探测间隔等价于 ssh 命令行的ServerAliveInterval填 0 表示禁用认证方式Automatic默认按 SSH agent →~/.ssh/config的IdentityFile→ 默认密钥的顺序自动尝试、Key File指定私钥文件可带 passphrase、Username and Password用户名密码。SSH 连接之前需确认服务器/etc/ssh/sshd_config中包含AllowTcpForwarding yes若使用ssh-rsa算法生成的密钥还需追加PubkeyAcceptedKeyTypes ssh-rsa注意号是刻意保留的表示追加而非覆盖。另外Beekeeper Studio 支持在 SSH 主机名字段直接输入~/.ssh/config中的Host别名自动解析HostName、Port、User、IdentityFile、IdentitiesOnly等配置也支持Match块与行首Include指令。需要特别注意的是ProxyJump/ProxyCommand不被解析跳板机应在连接表单的 Bastion Host 字段中显式配置。详见 连接指南 的 SSH 章节。测试与验证驱动可靠性的工程保障仓库为支持矩阵中的大多数数据库配备了集成测试测试目录位于 apps/studio/tests/integration/lib/db/clients几乎与支持矩阵一一对应PostgreSQLpostgres.spec.ts 及 postgres/ 子目录MySQLmysql.spec.jsSQLitesqlite.spec.jsSQL Serversqlserver.spec.ts、sqlserver-kerberos.spec.ts、sqlserver-winauth.spec.tsMongoDBmongodb.spec.ts、mongodb-kerberos.spec.tsOracleoracle.spec.jsCassandra / ScyllaDBcassandra.spec.js、scylladb.spec.jsClickHouseclickhouse.spec.tsDuckDBduckdb.spec.tsLibSQLlibsql.spec.tsFirebirdfirebird.spec.tsGreengageDBgreengage.spec.tsTrinotrino.spec.ts 及 trino/ 子目录Redshift / CockroachDB / MariaDB / TiDB / StarRocks / SurrealDB / DynamoDB / Redis分别对应 cockroach.spec.js、mariadb.spec.js、tidb.spec.js、starrocks.spec.js、surrealdb.spec.ts、dynamodb.spec.ts含 dynamodb/setupDb.ts、redis.spec.tsSSH 隧道ssh.spec.js、ssh-mongodb.spec.js、ssh-agent.spec.js 等此外仓库还提供了对应数据库的 Docker 测试环境如 dev/docker_psql_init/、dev/docker_mysql_init/、dev/docker_oracle_init/、dev/docker_mongodb_init/、dev/docker_firebird/ 等测试脚本可在隔离容器中启动真实数据库实例进行端到端验证。可以说「⭐ Full Support」的状态是经过真实驱动调用与集成测试双重验证的。结语如何用好这份支持矩阵对于开发者而言这份数据库支持清单docs/includes/supported_databases.md是选择 Beekeeper Studio 作为数据库工作台的首要依据需要免费的跨平台 SQL 客户端可优先关注社区版支持的三行一列PostgreSQL、MySQL、SQLite、SQL Server、Amazon Redshift、CockroachDB、MariaDB、TiDB、Google BigQuery、Redis、GreengageDB涉及 Oracle、MongoDB、ClickHouse、DuckDB、Snowflake 等高级/新兴数据库则需付费版本其中 DynamoDB 目前处于 Beta 支持阶段SAP HANA 仍在开发中连接前对照 驱动注册表 的disabledFeatures可提前判断该数据库是否支持 SSL、SSH、Socket、Schema 等选项避免在表单中寻找不存在的字段。结合 连接指南、各数据库专属文档如 SQLite 连接指南、MongoDB 连接指南、ClickHouse 连接指南 等你就能在几分钟内完成从选择数据库类型到建立首个连接的完整流程。【免费下载链接】beekeeper-studioModern and easy to use SQL client for MySQL, Postgres, SQLite, SQL Server, and more. Linux, MacOS, and Windows.项目地址: https://gitcode.com/GitHub_Trending/be/beekeeper-studio创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考