← Hyperdrive (Postgres & MySQL) / hyperdrive / examples / connect-to-postgres / postgres-database-providers
AWS RDS a Aurora
Tento příklad ukazuje, jak připojit Hyperdrive k instanci databáze Amazon Relational Database Service (Amazon RDS) Postgres nebo Amazon Aurora.
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.
AWS Console
Při vytváření nebo úpravě instance v konzoli AWS:
- Nakonfigurujte DB cluster identifier a další nastavení, která chcete upravit.
- V části Nastavení > Nastavení přihlašovacích údajů, poznamenejte si Hlavní uživatelské jméno a Hlavní heslo (pouze Aurora).
- V části Konektivita hlavičce se ujistěte, že Veřejný přístup je nastaveno na Ano.
- Vyberte Existující bezpečnostní skupina VPC umožňující veřejný přístup k internetu z
0.0.0.0/0na port, na kterém je instance vaší databáze nastavena naslouchat (výchozí:5432pro instance PostgreSQL). - Vyberte Create database.
Získání koncového bodu databáze (Aurora)
Chcete-li získat koncový bod databáze (hostname), ke kterému se má Hyperdrive připojit:
- Přejděte na Databáze zobrazení v části RDS v konzoli AWS.
- Vyberte databázi, ke které se má Hyperdrive připojit.
- V části Endpointy hlavičce si poznamenejte Název koncového bodu s typem
Writera Port.
Získání koncového bodu databáze (RDS PostgreSQL)
U běžných instancí RDS (nikoli Aurora) budete muset zjistit koncový bod a port databáze:
- Přejděte na Databáze zobrazení v části RDS v konzoli AWS.
- Vyberte databázi, ke které se má Hyperdrive připojit.
- V části Konektivita a zabezpečení hlavičce si poznamenejte Endpoint a Port.
Endpoint bude vypadat podobně jako YOUR_DATABASE_NAME.cpuo5rlli58m.AWS_REGION.rds.amazonaws.com a port se ve výchozím nastavení nastaví na 5432.
2. Vytvořte svého uživatele
Jakmile je databáze vytvořena, budete muset vytvořit uživatele, pod kterým se bude Hyperdrive připojovat. I když můžete použít Hlavní uživatelské jméno nakonfigurován při počátečním vytváření databáze, je osvědčeným postupem vytvořit uživatele s nižšími oprávněními.
Chcete-li vytvořit nového uživatele, přihlaste se k databázi a použijte CREATE ROLE příkaz:
# Log in to the database
psql postgresql://MASTER_USERNAME:MASTER_PASSWORD@ENDPOINT_NAME:PORT/database_nameSpusťte následující příkazy SQL:
-- Create a role for Hyperdrive
CREATE ROLE hyperdrive;
-- Allow Hyperdrive to connect
GRANT CONNECT ON DATABASE postgres TO hyperdrive;
-- Grant database privileges to the hyperdrive role
GRANT ALL PRIVILEGES ON DATABASE postgres to hyperdrive;
-- Create a specific user for Hyperdrive to log in as
CREATE ROLE hyperdrive_user LOGIN PASSWORD 'sufficientlyRandomPassword';
-- Grant this new user the hyperdrive role privileges
GRANT hyperdrive to hyperdrive_user;Viz dokumentace AWS dokumentace o uživatelských rolích v PostgreSQL ↗ pro další podrobnosti.
S uživatelským jménem k databázi, heslem, endpointem databáze (název hostitele a port) a názvem databáze (výchozí: postgres), nyní můžete nastavit Hyperdrive.
3. 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.