11 KiB
Supported Databases and Providers
Complete list of databases and providers compatible with Cloudflare Hyperdrive.
Database Engine Support
| Engine | Supported | Versions | Notes |
|---|---|---|---|
| PostgreSQL | ✅ Yes | 9.0 - 17.x | Both self-hosted and managed |
| MySQL | ✅ Yes | 5.7 - 8.x | Both self-hosted and managed, MariaDB included |
| SQL Server | ❌ No | - | Not currently supported |
| MongoDB | ❌ No | - | NoSQL not supported (use Atlas Data API) |
| Oracle | ❌ No | - | Not currently supported |
PostgreSQL-Compatible Databases
AWS RDS / Aurora PostgreSQL
Status: ✅ Fully Supported
Connection Example:
npx wrangler hyperdrive create aws-postgres \
--connection-string="postgres://admin:password@mydb.abc123.us-east-1.rds.amazonaws.com:5432/postgres"
SSL: Enabled by default on RDS
Guide: AWS RDS Guide
Google Cloud SQL (PostgreSQL)
Status: ✅ Fully Supported
Connection Example:
npx wrangler hyperdrive create gcp-postgres \
--connection-string="postgres://postgres:password@34.123.45.67:5432/mydb"
Public IP: Must enable public IP in Cloud SQL settings
Guide: Google Cloud SQL Guide
Azure Database for PostgreSQL
Status: ✅ Fully Supported
Connection Example:
npx wrangler hyperdrive create azure-postgres \
--connection-string="postgres://myuser@myserver:password@myserver.postgres.database.azure.com:5432/mydb"
Firewall: Add Cloudflare IP ranges or allow all public IPs
Guide: Azure PostgreSQL Guide
Neon
Status: ✅ Fully Supported
Connection Example:
npx wrangler hyperdrive create neon-db \
--connection-string="postgres://user:password@ep-cool-darkness-123456.us-east-2.aws.neon.tech:5432/neondb"
Driver: Use pg or postgres.js (NOT @neondatabase/serverless driver)
Guide: Neon Guide
Supabase
Status: ✅ Fully Supported
Connection Example:
npx wrangler hyperdrive create supabase-db \
--connection-string="postgres://postgres:password@db.abc123xyz.supabase.co:5432/postgres"
Connection String: Get from Supabase Dashboard → Settings → Database → Connection string (Direct connection)
Guide: Supabase Guide
PlanetScale (PostgreSQL)
Status: ✅ Fully Supported
Connection Example:
npx wrangler hyperdrive create planetscale-postgres \
--connection-string="postgres://user:password@aws.connect.psdb.cloud:3306/mydb"
Driver: Use pg or postgres.js (NOT PlanetScale serverless driver)
Guide: PlanetScale Guide
Timescale
Status: ✅ Fully Supported
Connection Example:
npx wrangler hyperdrive create timescale-db \
--connection-string="postgres://tsdbadmin:password@abc123xyz.tsdb.cloud.timescale.com:5432/tsdb"
Guide: Timescale Guide
CockroachDB
Status: ✅ Fully Supported
Connection Example:
npx wrangler hyperdrive create cockroach-db \
--connection-string="postgres://user:password@free-tier.gcp-us-central1.cockroachlabs.cloud:26257/defaultdb"
Notes: PostgreSQL-compatible, uses port 26257
Guide: CockroachDB Guide
Materialize
Status: ✅ Fully Supported
Connection Example:
npx wrangler hyperdrive create materialize-db \
--connection-string="postgres://user@materialize.example.com:6875/materialize"
Guide: Materialize Guide
Fly.io PostgreSQL
Status: ✅ Fully Supported
Connection Example:
npx wrangler hyperdrive create fly-postgres \
--connection-string="postgres://postgres:password@my-app-db.fly.dev:5432/postgres"
Guide: Fly.io Guide
pgEdge Cloud
Status: ✅ Fully Supported
Connection Example:
npx wrangler hyperdrive create pgedge-db \
--connection-string="postgres://user:password@db.pgedge.io:5432/mydb"
Guide: pgEdge Guide
Prisma Postgres
Status: ✅ Fully Supported
Connection Example:
npx wrangler hyperdrive create prisma-postgres \
--connection-string="postgres://user:password@db.prisma.io:5432/mydb"
Guide: Prisma Postgres Guide
MySQL-Compatible Databases
AWS RDS / Aurora MySQL
Status: ✅ Fully Supported
Connection Example:
npx wrangler hyperdrive create aws-mysql \
--connection-string="mysql://admin:password@mydb.abc123.us-east-1.rds.amazonaws.com:3306/mydb"
Guide: AWS RDS MySQL Guide
Google Cloud SQL (MySQL)
Status: ✅ Fully Supported
Connection Example:
npx wrangler hyperdrive create gcp-mysql \
--connection-string="mysql://root:password@34.123.45.67:3306/mydb"
Guide: Google Cloud SQL MySQL Guide
Azure Database for MySQL
Status: ✅ Fully Supported
Connection Example:
npx wrangler hyperdrive create azure-mysql \
--connection-string="mysql://myuser@myserver:password@myserver.mysql.database.azure.com:3306/mydb"
Guide: Azure MySQL Guide
PlanetScale (MySQL)
Status: ✅ Fully Supported
Connection Example:
npx wrangler hyperdrive create planetscale-mysql \
--connection-string="mysql://user:password@aws.connect.psdb.cloud:3306/mydb"
Driver: Use mysql2 (NOT PlanetScale serverless driver)
MariaDB
Status: ✅ Fully Supported
Connection Example:
npx wrangler hyperdrive create mariadb \
--connection-string="mysql://user:password@mariadb-host:3306/mydb"
Notes: MariaDB uses MySQL protocol, fully compatible
Self-Hosted Databases
Self-Hosted PostgreSQL
Status: ✅ Fully Supported
Requirements:
- PostgreSQL 9.0+
- SSL/TLS enabled
- Public IP address (or use Cloudflare Tunnel for private)
- Firewall configured to allow public connections
postgresql.conf:
listen_addresses = '*'
ssl = on
ssl_cert_file = 'server.crt'
ssl_key_file = 'server.key'
pg_hba.conf:
# Allow connections from anywhere with SSL
hostssl all all 0.0.0.0/0 md5
Self-Hosted MySQL
Status: ✅ Fully Supported
Requirements:
- MySQL 5.7+
- SSL/TLS enabled
- Public IP address (or use Cloudflare Tunnel)
- Firewall configured
my.cnf:
[mysqld]
bind-address = 0.0.0.0
require_secure_transport = ON
ssl-ca = ca-cert.pem
ssl-cert = server-cert.pem
ssl-key = server-key.pem
Private Database Access
Cloudflare Tunnel
For databases in private networks (VPCs, on-premises):
Supported:
- Private AWS VPCs
- Google Cloud private networks
- Azure VNets
- On-premises databases
- Any database behind firewall
Setup:
- Install cloudflared
- Create tunnel to database
- Configure Hyperdrive with tunnel hostname
Guide: Cloudflare Tunnel Guide
Connection Requirements
All Databases MUST Have
✅ TLS/SSL enabled - Hyperdrive requires encryption ✅ Accessible endpoint - Public IP or via Cloudflare Tunnel ✅ User permissions - User must have read/write permissions ✅ Correct credentials - Valid username/password ✅ Firewall configured - Allow connections from internet or tunnel
All Databases CANNOT Have
❌ Private IP only (10.x.x.x, 192.168.x.x) - Use Tunnel instead ❌ SSL disabled - Hyperdrive requires TLS ❌ Restrictive firewall - Must allow Cloudflare connections ❌ Invalid credentials - Connection will fail during setup
Unsupported Databases
| Database | Status | Alternative |
|---|---|---|
| MongoDB | ❌ Not Supported | Use MongoDB Atlas Data API or Realm |
| SQL Server | ❌ Not Supported | Use Azure SQL Edge (Linux) or wait for support |
| Oracle Database | ❌ Not Supported | No current alternative |
| SQLite | ❌ Not Needed | Use Cloudflare D1 (serverless SQLite) |
| Redis | ❌ Not Supported | Use Upstash Redis or Cloudflare KV |
| DynamoDB | ❌ Not Supported | Use AWS SDK directly or Cloudflare KV |
| Cassandra | ❌ Not Supported | Use DataStax Astra DB API |
Choosing a Database Provider
For New Projects
Recommended:
- Neon - Serverless PostgreSQL, generous free tier
- Supabase - PostgreSQL + Auth + Storage
- PlanetScale - MySQL, branching workflow
- Cloudflare D1 - If you don't need PostgreSQL/MySQL features
For Existing Apps
Use Hyperdrive with your current provider:
- AWS RDS/Aurora
- Google Cloud SQL
- Azure Database
For Self-Hosted
Use Cloudflare Tunnel for secure private access.
Performance Comparison
| Provider | Connection Latency | Query Latency | Caching |
|---|---|---|---|
| Neon (US-East) | ~5ms | ~10-20ms | ✅ Yes |
| Supabase (US-East) | ~5ms | ~10-20ms | ✅ Yes |
| AWS RDS (US-East) | ~5ms | ~15-25ms | ✅ Yes |
| Self-Hosted (EU) | ~50ms | ~60-80ms | ✅ Yes |
Note: Hyperdrive adds minimal latency (~5ms) but eliminates 7 round trips, resulting in net performance gain.