次の表は、対応するデータベースエンジンおよび特定のデータベースプロバイダーを示します。
| データベースエンジン | 対応 | 確認済みの対応バージョン | 詳細 |
|---|---|---|---|
| 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 データベースに対応しています。各プロバイダーへの接続方法は Examples を参照してください。
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 の確認に加え、データベースのホスト名が、証明書の Subject Alternative Name(SAN)または Common Name(CN)と一致する必要があります。 |
これらの TLS(SSL)モードを Hyperdrive に設定する方法は、SSL/TLS 証明書 のドキュメントを参照してください。
PostgreSQL データベースへの接続では、Hyperdrive は次の 認証モード ↗ に対応しています。
- パスワード認証(
md5) - パスワード認証(
password)(平文パスワード) - SASL 認証(
SCRAM-SHA-256)
Hyperdrive は、次の PostgreSQL 機能に対応していません。
PREPARE、DISCARD、DEALLOCATE、EXECUTEなど、SQL レベルでのプリペアドステートメント管理。- アドバイザリロック(PostgreSQL のドキュメント ↗)。
LISTENとNOTIFY。PREPAREとDEALLOCATE。- ほかの箇所で明示的に対応と記載されていない、セッション単位の状態の変更。
Hyperdrive は、次の MySQL 機能に対応していません。
- クエリ内の非 UTF-8 文字
USEステートメント- 複数ステートメントのクエリ
- SQL 経由のプリペアドステートメント(
PREPAREとEXECUTEステートメント)および プロトコルレベルのプリペアドステートメント ↗。 COM_INIT_DBメッセージcaching_sha2_passwordまたはmysql_native_password以外の 認証プラグイン ↗
アプリケーションからこれらの非対応ステートメントを発行する必要がある場合は、Hyperdrive を経由しない 2 つ目の直接クライアントを用意することを推奨します。