← Hyperdrive (Postgres & MySQL) / hyperdrive / examples / connect-to-postgres / postgres-database-providers
CockroachDB
Tento příklad ukazuje, jak připojit Hyperdrive k CockroachDB ↗ databázový cluster. CockroachDB je distribuovaná SQL databáze kompatibilní s PostgreSQL, která poskytuje silné záruky konzistence.
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.
CockroachDB Console
Níže uvedené kroky předpokládají, že máte existující účet CockroachDB Cloud ↗ a vytvořeným databázovým clusterem.
Chcete-li vytvořit a/nebo získat přihlašovací údaje k databázi:
- Přejděte na CockroachDB Cloud console ↗ a vyberte cluster, ke kterému se má Hyperdrive připojit.
- Vyberte SQL Users v postranním panelu vlevo a vyberte Add User.
- Zadejte uživatelské jméno (například `hyperdrive-user) a vyberte Generate & Save Password.
- Poznamenejte si uživatelské jméno a heslo zkopírujte na dočasné místo.
Chcete-li získat podrobnosti o připojení k databázi:
- Přejděte na CockroachDB Cloud console ↗ a vyberte cluster, ke kterému se má Hyperdrive připojit.
- Vyberte Připojit v pravém horním rohu.
- Vyberte uživatele, kterého jste vytvořili, například,
hyperdrive-user. - Vyberte databázi, například
defaultdb. - Vyberte Obecný připojovací řetězec jako možnost.
- V textovém poli níže vyberte Copy ke zkopírování připojovacího řetězce.
CockroachDB Cloud ve výchozím nastavení povoluje připojení z veřejného internetu (0.0.0.0/0). Pokud jste tato nastavení u existujícího clusteru změnili, budete muset povolit připojení z veřejného internetu, aby se k němu Hyperdrive mohl připojit.
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.