Hyperdrive (Postgres & MySQL)
import { CardGrid, Description, Feature, LinkTitleCard, Plan, RelatedProduct, Tabs, TabItem, LinkButton, } from "~/components";
Turn your existing regional database into a globally distributed database.
Hyperdrive is a service that accelerates queries you make to existing databases, making it faster to access your data from across the globe from Cloudflare Workers, irrespective of your users' location.
Hyperdrive supports any Postgres or MySQL database, including those hosted on AWS, Google Cloud, Azure, Supabase, Neon, and PlanetScale. Hyperdrive also supports Postgres-compatible databases like CockroachDB and Timescale. You do not need to write new code or replace your favorite tools: Hyperdrive works with your existing code and tools you use.
Use Hyperdrive's connection details from your Cloudflare Workers application with your existing database drivers and object-relational mapping (ORM) libraries.
Examples
PostgreSQL
```ts import { Client } from "pg";export default { async fetch(request, env, ctx): Promise { // Create a new client instance for each request. Hyperdrive maintains the // underlying database connection pool, so creating a new client is fast. const client = new Client({ connectionString: env.HYPERDRIVE.connectionString, });
try {
// Connect to the database
await client.connect();
// Sample SQL query
const result = await client.query("SELECT * FROM pg_tables");
return Response.json(result.rows);
} catch (e) {
return Response.json({ error: e instanceof Error ? e.message : e }, { status: 500 });
}
},
} satisfies ExportedHandler<{ HYPERDRIVE: Hyperdrive }>;
</TabItem>
<TabItem label="wrangler.jsonc">
```json
{
"$schema": "node_modules/wrangler/config-schema.json",
"name": "WORKER-NAME",
"main": "src/index.ts",
"upload_source_maps": true,
"compatibility_date": "2025-02-04",
"compatibility_flags": [
"nodejs_compat"
],
"observability": {
"enabled": true
},
"hyperdrive": [
{
"binding": "HYPERDRIVE",
"id": "<YOUR_HYPERDRIVE_ID>",
"localConnectionString": "<ENTER_LOCAL_CONNECTION_STRING_FOR_LOCAL_DEVELOPMENT_HERE>"
}
]
}
MySQL
```ts import { createConnection } from 'mysql2/promise';export default { async fetch(request, env, ctx): Promise { // Create a new connection on each request. Hyperdrive maintains the // underlying database connection pool, so creating a new client is fast. const connection = await createConnection({ host: env.HYPERDRIVE.host, user: env.HYPERDRIVE.user, password: env.HYPERDRIVE.password, database: env.HYPERDRIVE.database, port: env.HYPERDRIVE.port,
// This is needed to use mysql2 with Workers
// This configures mysql2 to use static parsing instead of eval() parsing (not available on Workers)
disableEval: true
});
const [results, fields] = await connection.query('SHOW tables;');
return new Response(JSON.stringify({ results, fields }), { headers: { 'Content-Type': 'application/json', 'Access-Control-Allow-Origin': '*', }, }); }} satisfies ExportedHandler<{ HYPERDRIVE: Hyperdrive }>;
</TabItem>
<TabItem label="wrangler.jsonc">
```json
{
"$schema": "node_modules/wrangler/config-schema.json",
"name": "WORKER-NAME",
"main": "src/index.ts",
"upload_source_maps": true,
"compatibility_date": "2025-02-04",
"compatibility_flags": [
"nodejs_compat"
],
"observability": {
"enabled": true
},
"hyperdrive": [
{
"binding": "HYPERDRIVE",
"id": "<YOUR_HYPERDRIVE_ID>",
"localConnectionString": "<ENTER_LOCAL_CONNECTION_STRING_FOR_LOCAL_DEVELOPMENT_HERE>"
}
]
}
Get started
Features
Connect Hyperdrive to your existing database and deploy a Worker that queries it.
Hyperdrive allows you to connect to any PostgreSQL or PostgreSQL-compatible database.
Hyperdrive allows you to connect to any MySQL database.
Default-on caching for your most popular queries executed against your database.
Related products
Build serverless applications and deploy instantly across the globe for exceptional performance, reliability, and scale.
Deploy dynamic front-end applications in record time.
More resources
<LinkTitleCard title="Pricing" href="/hyperdrive/platform/pricing/" icon="seti:shell"
Learn about Hyperdrive's pricing.
<LinkTitleCard title="Limits" href="/hyperdrive/platform/limits/" icon="document"
Learn about Hyperdrive limits.
<LinkTitleCard title="Storage options" href="/workers/platform/storage-options/" icon="document"
Learn more about the storage and database options you can build on with
Workers.
<LinkTitleCard title="Developer Discord" href="https://discord.cloudflare.com" icon="discord"
Connect with the Workers community on Discord to ask questions, show what you
are building, and discuss the platform with other developers.
<LinkTitleCard title="@CloudflareDev" href="https://x.com/cloudflaredev" icon="x.com"
Follow @CloudflareDev on Twitter to learn about product announcements, and
what is new in Cloudflare Developer Platform.
谢谢你的反馈!