下表显示支持的数据库引擎和/或特定数据库提供商。
| 数据库引擎 | 是否支持 | 已知支持版本 | 详情 |
|---|---|---|---|
| PostgreSQL | ✅ | 9.0 至 17.x |
支持自托管和托管(AWS、Azure、Google Cloud、Oracle)实例。 |
| MySQL | ✅ | 5.7 至 8.x |
支持自托管和托管(AWS、Azure、Google Cloud、Oracle)实例。也支持 MariaDB。 |
| SQL Server | 目前不支持。 | ||
| MongoDB | 目前不支持。 |
Hyperdrive 支持 AWS、Azure 和 GCP 等提供商提供的托管 Postgres 和 MySQL 数据库。请参阅示例了解如何连接各种数据库提供商。
Hyperdrive 也支持兼容 Postgres 或 MySQL 协议的数据库。以下是非详尽的 Postgres 或 MySQL 兼容数据库提供商列表:
| 数据库引擎 | 是否支持 | 已知支持版本 | 详情 |
|---|---|---|---|
| AWS Aurora | ✅ | 全部 | 兼容 Postgres 和 MySQL。AWS Aurora 示例请参阅 MySQL 和 Postgres。 |
| Neon | ✅ | 全部 | Neon 目前运行 Postgres 15.x |
| Supabase | ✅ | 全部 | Supabase 目前运行 Postgres 15.x |
| Timescale | ✅ | 全部 | 连接请参阅 Timescale 指南。 |
| Materialize | ✅ | 全部 | 兼容 Postgres。连接请参阅 Materialize 指南。 |
| CockroachDB | ✅ | 全部 | 兼容 Postgres。连接请参阅 CockroachDB 指南。 |
| PlanetScale | ✅ | 全部 | PlanetScale 提供 MySQL 兼容和 PostgreSQL 数据库 |
| MariaDB | ✅ | 全部 | 兼容 MySQL。 |
连接源数据库时,Hyperdrive 支持以下 PostgreSQL TLS (SSL) ↗ 连接模式:
| 模式 | 是否支持 | 详情 |
|---|---|---|
none |
否 | Hyperdrive 不支持不安全的明文连接。 |
prefer |
否(使用 require) |
Hyperdrive 始终使用 TLS。 |
require |
是(默认) | 需要 TLS,并验证服务器证书(基于 WebPKI)。 |
verify-ca |
是 | 验证服务器 TLS 证书由客户端上的根 CA 签名,确保服务器拥有客户端信任的证书。 |
verify-full |
是 | 与 verify-ca 相同,还要求数据库主机名与证书上的 Subject Alternative Name (SAN) 匹配。 |
连接源数据库时,Hyperdrive 支持以下 MySQL TLS (SSL) ↗ 连接模式:
| 模式 | 是否支持 | 详情 |
|---|---|---|
DISABLED |
否 | Hyperdrive 不支持不安全的明文连接。 |
PREFERRED |
否(使用 REQUIRED) |
Hyperdrive 始终使用 TLS。 |
REQUIRED |
是(默认) | 需要 TLS,并验证服务器证书(基于 WebPKI)。 |
VERIFY_CA |
是 | 验证服务器 TLS 证书由客户端上的根 CA 签名,确保服务器拥有客户端信任的证书。 |
VERIFY_IDENTITY |
是 | 除 VERIFY_CA 检查外,Hyperdrive 要求数据库主机名与证书上的 Subject Alternative Name (SAN) 或 Common Name (CN) 匹配。 |
有关如何为 Hyperdrive 配置这些 TLS (SSL) 模式的详情,请参阅 SSL/TLS 证书 文档。
Hyperdrive 支持以下连接 PostgreSQL 数据库的认证模式 ↗:
- 密码认证(
md5) - 密码认证(
password)(明文密码) - SASL 认证(
SCRAM-SHA-256)
Hyperdrive 不支持以下 PostgreSQL 功能:
- SQL 级别的预编译语句管理,如使用
PREPARE、DISCARD、DEALLOCATE或EXECUTE。 - 咨询锁(PostgreSQL 文档 ↗)。
LISTEN和NOTIFY。PREPARE和DEALLOCATE。- 任何未在其他地方明确文档化为支持的每会话状态修改。
Hyperdrive 不支持以下 MySQL 功能:
- 查询中的非 UTF8 字符
USE语句- 多语句查询
- 通过 SQL 的预编译语句查询(使用
PREPARE和EXECUTE语句)以及协议级预编译语句 ↗。 COM_INIT_DB消息- 除
caching_sha2_password或mysql_native_password外的认证插件 ↗
若应用需要发出这些不支持的语句,Hyperdrive 团队建议设置第二个不经过 Hyperdrive 的直接客户端。