← Hyperdrive (Postgres & MySQL) / hyperdrive / reference
Поддерживаемые базы данных и возможности
Поддержка баз данных
В следующей таблице показано, какие движки баз данных и/или конкретные провайдеры баз данных поддерживаются.
| Database Engine | Поддерживается | Известные поддерживаемые версии | Подробности |
|---|---|---|---|
| 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 поддерживает управляемые базы данных Postgres и MySQL от различных провайдеров, включая AWS, Azure и GCP. См. Примеры чтобы узнать, как подключаться к различным поставщикам баз данных.
Hyperdrive также поддерживает базы данных, совместимые с протоколом Postgres или MySQL. Ниже приведён неполный список провайдеров баз данных, совместимых с Postgres или MySQL:
| Database Engine | Поддерживается | Известные поддерживаемые версии | Подробности |
|---|---|---|---|
| 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. |
Поддерживаемые режимы TLS (SSL)
PostgreSQL
Hyperdrive поддерживает следующие PostgreSQL TLS (SSL) ↗ режимы подключения при соединении с исходной базой данных:
| Режим | Поддерживается | Подробности |
|---|---|---|
none |
Нет | Hyperdrive не поддерживает незащищённые соединения в открытом виде. |
prefer |
Нет (используйте require) |
Hyperdrive всегда использует TLS. |
require |
Да (по умолчанию) | Требуется TLS, а сертификаты сервера проверяются на основе WebPKI. |
verify-ca |
Да | Проверяет, что TLS-сертификат сервера подписан корневым CA на стороне клиента. Это гарантирует, что у сервера есть сертификат, которому доверяет клиент. |
verify-full |
Да | Идентично verify-ca, но также требует, чтобы имя хоста базы данных совпадало с одним из альтернативных имен субъекта (SAN), указанных в сертификате. |
MySQL
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) в сертификате. |
См. Сертификаты SSL/TLS документации подробно описано, как настроить эти режимы TLS (SSL) для Hyperdrive.
Поддерживаемые режимы аутентификации PostgreSQL
Hyperdrive поддерживает следующие режимы аутентификации ↗ для подключения к базам данных PostgreSQL:
- Проверка подлинности по паролю (
md5) - Проверка подлинности по паролю (
password) (пароль в открытом виде) - SASL-аутентификация (
SCRAM-SHA-256)
Неподдерживаемые функции PostgreSQL:
Hyperdrive не поддерживает следующие возможности PostgreSQL:
- Управление подготовленными выражениями на уровне SQL, например с помощью
PREPARE,DISCARD,DEALLOCATE, илиEXECUTE. - Рекомендательные блокировки (документация PostgreSQL ↗).
LISTENиNOTIFY.PREPAREиDEALLOCATE.- Любое изменение состояния сессии, не задокументированное явно как поддерживаемое где-либо ещё.
Неподдерживаемые функции MySQL:
Hyperdrive не поддерживает следующие возможности MySQL:
- Не-UTF8 символы в запросах
USEинструкции- Запросы с несколькими инструкциями
- Подготовленные запросы через SQL (с использованием
PREPAREиEXECUTEинструкции) и подготовленные выражения на уровне протокола ↗. COM_INIT_DBсообщения- Плагины аутентификации ↗ кроме
caching_sha2_passwordилиmysql_native_password
Если вашему приложению нужно выполнять такие неподдерживаемые выражения, команда Hyperdrive рекомендует настроить второй, прямой клиент в обход Hyperdrive.