← Hyperdrive (Postgres & MySQL) / hyperdrive / examples / connect-to-postgres / postgres-database-providers
Timescale
Tento příklad ukazuje, jak připojit Hyperdrive k Timescale ↗ databáze pro časové řady. Timescale je postavena na PostgreSQL a nabízí výkonné funkce pro práci s časovými řadami, událostmi a analytiku.
Více o Timescale se dozvíte v jejich Dokumentace ke službám Timescale ↗.
1. Povolte přístup Hyperdrive
K libovolné existující databázi Timescale můžete Hyperdrive připojit tak, že vytvoříte nového uživatele a získáte connection string vaší databáze.
Timescale Dashboard
Chcete-li získat přihlašovací údaje a koncový bod databáze v Timescale Console ↗:
- Vyberte službu (databázi), ke které se má Hyperdrive připojit.
- Rozbalit Informace o připojení.
- Zkopírujte URL služby. Service URL je připojovací řetězec, který Hyperdrive použije k připojení. Tento řetězec obsahuje název hostitele databáze, číslo portu a název databáze.
Pokud nemáte heslo uložené, budete muset vybrat Zapomněli jste heslo? a nastavte nové SCRAM heslo. Toto heslo si uložte, protože Timescale jej zobrazí pouze jednou.
Výsledkem bude connection string podobný tomuto:
postgres://tsdbadmin:YOUR_PASSWORD_HERE@pn79dztyy0.xzhhbfensb.tsdb.cloud.timescale.com:31358/tsdbS 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.