diff --git a/src/content/docs/hyperdrive/index.mdx b/src/content/docs/hyperdrive/index.mdx index 9589f6ce29b814..d15568ed9fe641 100644 --- a/src/content/docs/hyperdrive/index.mdx +++ b/src/content/docs/hyperdrive/index.mdx @@ -8,26 +8,95 @@ sidebar: head: - tag: title content: Hyperdrive - --- -import { CardGrid, Description, Feature, LinkTitleCard, Plan, RelatedProduct } from "~/components" +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, irrespective of your users' location. Hyperdrive supports any Postgres database, including those hosted on AWS, Google Cloud and Neon, as well as Postgres-compatible databases like CockroachDB and Timescale, with MySQL coming soon. +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](/workers/), irrespective of your users' location. + +Hyperdrive supports any Postgres database, including those hosted on AWS, Google Cloud and Neon, as well as Postgres-compatible databases like CockroachDB and Timescale, with MySQL coming soon. 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 string from your Cloudflare Workers application with your existing Postgres drivers and object-relational mapping (ORM) libraries: + + + + + +```ts +import postgres from 'postgres'; + +export default { + async fetch(request, env, ctx): Promise { + // Hyperdrive provides a unique generated connection string to connect to + // your database via Hyperdrive that can be used with your existing tools + const sql = postgres(env.HYPERDRIVE.connectionString); + + try { + // Sample SQL query + const results = await sql`SELECT * FROM pg_tables`; + + // Close the client after the response is returned + ctx.waitUntil(sql.end()); + + return Response.json(results); + } catch (e) { + return Response.json({ error: e instanceof Error ? e.message : e }, { status: 500 }); + } + }, +} satisfies ExportedHandler<{ HYPERDRIVE: Hyperdrive }>; +``` + + + +```json + { + "$schema": "node_modules/wrangler/config-schema.json", + "name": "WORKER-NAME", + "main": "src/index.ts", + "compatibility_date": "2025-02-04", + "compatibility_flags": [ + "nodejs_compat" + ], + "observability": { + "enabled": true + }, + "hyperdrive": [ + { + "binding": "HYPERDRIVE", + "id": "", + "localConnectionString": "" + } + ] + } +``` + + + + +Get started + + + -Use your existing Postgres drivers and object-relational mapping (ORM) libraries of your choice without any changes. Hyperdrive gives you a connection string that looks just like any other. You do not need to write new code or replace your favorite tools: Hyperdrive works with the ones you already use. - -*** +--- ## Features @@ -35,24 +104,21 @@ Use your existing Postgres drivers and object-relational mapping (ORM) libraries Connect Hyperdrive to your existing database and deploy a [Worker](/workers/) that queries it. - Hyperdrive allows you to connect to any PostgreSQL or PostgreSQL-compatible database. - Use Hyperdrive to cache the most popular queries executed against your database. - -*** +--- ## Related products @@ -60,40 +126,62 @@ Use Hyperdrive to cache the most popular queries executed against your database. 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 - -Learn about Hyperdrive's pricing. + + Learn about Hyperdrive's pricing. - -Learn about Hyperdrive limits. + + Learn about Hyperdrive limits. - -Learn more about the storage and database options you can build on with Workers. + + Learn more about the storage and database options you can build on with + Workers. - -Connect with the Workers community on Discord to ask questions, show what you are building, and discuss the platform with other developers. + + Connect with the Workers community on Discord to ask questions, show what you + are building, and discuss the platform with other developers. - -Follow @CloudflareDev on Twitter to learn about product announcements, and what is new in Cloudflare Developer Platform. + + Follow @CloudflareDev on Twitter to learn about product announcements, and + what is new in Cloudflare Developer Platform. +````