← Hyperdrive (Postgres & MySQL) / hyperdrive / examples / connect-to-postgres / postgres-database-providers
Digital Ocean
Tento příklad ukazuje, jak připojit Hyperdrive k instanci databáze Digital Ocean.
1. Povolte přístup Hyperdrive
Aby se Hyperdrive mohl připojit k vaší databázi, musí mít platné přihlašovací údaje uživatele a síťový přístup.
DigitalOcean Dashboard
- Přejděte na dashboard DigitalOcean a vyberte databázi, ke které se chcete připojit. 2. Přejděte na Přehled kartě. 3. V části Podrobnosti připojení panelu vyberte Veřejná síť. 4. V rozevírací nabídce vyberte Připojovací řetězec > show-password. 5. Zkopírujte připojovací řetězec.
S připojovacím řetězcem můžete nyní vytvořit databázovou konfiguraci Hyperdrive.
2. Vytvořte konfiguraci databáze
Pro konfiguraci Hyperdrive budete potřebovat:
- IP adresa (nebo hostname) a port vaší databáze.
- Uživatelské jméno databáze (například
hyperdrive-demo) kterou jste nakonfigurovali v předchozím kroku. - Heslo přiřazené k tomuto uživatelskému jménu.
- Název databáze, ke které se má Hyperdrive připojit. Například
postgres.
Hyperdrive přijímá kombinaci těchto parametrů ve standardním formátu connection string používaném databázovými ovladači:
postgres://USERNAME:PASSWORD@HOSTNAME_OR_IP_ADDRESS:PORT/database_nameVětšina poskytovatelů databází nabízí connection string, který můžete přímo zkopírovat a vložit do Hyperdrive.
Chcete-li vytvořit konfiguraci Hyperdrive v Cloudflare dashboardu:
-
V dashboardu Cloudflare přejděte na Hyperdrive stránce.
Přejděte na Hyperdrive ↗ -
Vyberte Create Configuration.
-
Vyplňte formulář, včetně connection stringu.
-
Vyberte Vytvořit.
Chcete-li vytvořit konfiguraci Hyperdrive pomocí Wrangler CLI:
-
Otevřete terminál a spusťte následující příkaz. Nahraďte
<NAME_OF_HYPERDRIVE_CONFIG>názvem konfigurace Hyperdrive a vložte řetězec připojení poskytnutý vaším databázovým hostitelem, nebo nahraďteuser,password,HOSTNAME_OR_IP_ADDRESS,port, adatabase_namezástupné symboly za symboly specifické pro vaši databázi:npx wrangler hyperdrive create <NAME_OF_HYPERDRIVE_CONFIG> --connection-string="postgres://user:password@HOSTNAME_OR_IP_ADDRESS:PORT/database_name" -
Tento příkaz vypíše vazbu pro Konfigurační soubor Wrangler:
{ "$schema": "./node_modules/wrangler/config-schema.json", "name": "hyperdrive-example", "main": "src/index.ts", // Set this to today's date "compatibility_date": "2026-08-28", "compatibility_flags": [ "nodejs_compat" ], // Pasted from the output of `wrangler hyperdrive create <NAME_OF_HYPERDRIVE_CONFIG> --connection-string=[...]` above. "hyperdrive": [ { "binding": "HYPERDRIVE", "id": "<ID OF THE CREATED HYPERDRIVE CONFIGURATION>" } ] }"$schema" = "./node_modules/wrangler/config-schema.json" name = "hyperdrive-example" main = "src/index.ts" # Set this to today's date compatibility_date = "2026-08-28" compatibility_flags = [ "nodejs_compat" ] [[hyperdrive]] binding = "HYPERDRIVE" id = "<ID OF THE CREATED HYPERDRIVE CONFIGURATION>"
3. Používejte Hyperdrive ve svém Workeru
Nainstalujte node-postgres ovladač:
npm i pg@>8.16.3Pokud používáte TypeScript, nainstalujte balíček typů:
npm i -D @types/pgPřidejte potřebné příznaky kompatibility s Node.js a vazbu Hyperdrive do svého wrangler.jsonc soubor:
{
// required for database drivers to function
"compatibility_flags": [
"nodejs_compat"
],
// Set this to today's date
"compatibility_date": "2026-08-28",
"hyperdrive": [
{
"binding": "HYPERDRIVE",
"id": "<your-hyperdrive-id-here>"
}
]
}compatibility_flags = [ "nodejs_compat" ]
# Set this to today's date
compatibility_date = "2026-08-28"
[[hyperdrive]]
binding = "HYPERDRIVE"
id = "<your-hyperdrive-id-here>"Vytvořte nový Client instance a předejte Hyperdrive connectionString:
// filepath: src/index.ts
import { Client } from "pg";
export default {
async fetch(
request: Request,
env: Env,
ctx: ExecutionContext,
): Promise<Response> {
// 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();
// Perform a simple query
const result = await client.query("SELECT * FROM pg_tables");
return Response.json({
success: true,
result: result.rows,
});
} catch (error: any) {
console.error("Database error:", error.message);
return new Response("Internal error occurred", { status: 500 });
}
},
};Další kroky
- Další informace o Jak funguje Hyperdrive.
- Viz průvodce řešením problémů pro ladění běžných problémů.
- Zjistěte více o dalších možnosti úložiště dostupné pro Cloudflare Workers.