← Cloudflare Workers / workers / databases / third-party-integrations
Neon
Neon ↗ представляет собой полностью управляемый serverless PostgreSQL. Он разделяет хранилище и вычисления, предоставляя современные возможности для разработчиков, такие как serverless-архитектура, ветвление и неограниченное хранилище.
Чтобы подключиться к Neon с помощью Hyperdrive, выполните следующие шаги:
1. Разрешите доступ к Hyperdrive
Hyperdrive можно подключить к любой существующей базе данных Neon, создав нового пользователя и получив строку подключения к базе данных.
Neon Dashboard
- Перейдите в панель управления Neon ↗ и выберите проект (базу данных), к которому нужно подключиться.
- Выберите Роли в боковой панели и выберите New Role. Введите
hyperdrive-userв качестве имени (или укажите своё) и скопируйте пароль. Обратите внимание, что пароль больше не будет показан: если вы его не сохраните, придётся сбросить его заново. - Выберите Dashboard в боковой панели > перейдите в Сведения о подключении панели убедитесь, что выбрано ветка, база данных и роль (например,
hyperdrive-user) через который будет подключаться Hyperdrive. - Выберите
psqlи снимите флажок connection pooling флажок. Запишите строку подключения (начинающуюся сpostgres://hyperdrive-user@...) из текстового поля.
Имея строку подключения и пароль, теперь можно создать конфигурацию базы данных Hyperdrive.
2. Создание конфигурации базы данных
Чтобы настроить Hyperdrive, вам потребуется:
- IP-адрес (или имя хоста) и порт вашей базы данных.
- Имя пользователя базы данных (например,
hyperdrive-demo) которую вы настроили на предыдущем шаге. - Пароль, связанный с этим именем пользователя.
- Имя базы данных, к которой должен подключиться Hyperdrive. Например,
postgres.
Hyperdrive принимает комбинацию этих параметров в стандартном формате строки подключения, который используется драйверами баз данных:
postgres://USERNAME:PASSWORD@HOSTNAME_OR_IP_ADDRESS:PORT/database_nameБольшинство провайдеров баз данных предоставляют строку подключения, которую можно напрямую скопировать и вставить прямо в Hyperdrive.
Чтобы создать конфигурацию Hyperdrive в панели управления Cloudflare:
-
На панели управления Cloudflare перейдите к разделу Hyperdrive страницу.
Перейдите в Hyperdrive ↗ -
Выберите Создать конфигурацию.
-
Заполните форму, включая строку подключения.
-
Выберите Создание.
Чтобы создать конфигурацию Hyperdrive с помощью Wrangler CLI:
-
Откройте терминал и выполните следующую команду. Замените
<NAME_OF_HYPERDRIVE_CONFIG>с именем для вашей конфигурации Hyperdrive и вставьте строку подключения, предоставленную хостом базы данных, либо заменитеuser,password,HOSTNAME_OR_IP_ADDRESS,port, а такжеdatabase_nameзаполнители значениями, соответствующими вашей базе данных:npx wrangler hyperdrive create <NAME_OF_HYPERDRIVE_CONFIG> --connection-string="postgres://user:password@HOSTNAME_OR_IP_ADDRESS:PORT/database_name" -
Эта команда выводит привязку для конфигурационный файл 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. Использование Hyperdrive в вашем Worker
Установите node-postgres драйвер:
npm i pg@>8.16.3При использовании TypeScript установите пакет типов:
npm i -D @types/pgДобавьте необходимые флаги совместимости Node.js и привязку Hyperdrive в свой wrangler.jsonc файле:
{
// 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>"Создайте новый Client экземпляр и передайте 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 });
}
},
};Следующие шаги
- Подробнее о Как работает Hyperdrive.
- См. руководство по устранению неполадок чтобы отладить типичные проблемы.
- Узнайте больше о других варианты хранения доступен для Cloudflare Workers.
Чтобы подключиться к Neon с помощью @neondatabase/serverless, выполните следующие шаги:
-
Для подключения понадобится уже существующая база данных Neon. Создайте базу данных Neon ↗ или загрузить данные из существующей базы данных в Neon ↗.
-
Создайте
elementstable using the Neon SQL editor. The SQL Editor allows you to query your databases directly from the Neon Console.CREATE TABLE elements ( id INTEGER NOT NULL, elementName TEXT NOT NULL, atomicNumber INTEGER NOT NULL, symbol TEXT NOT NULL ); -
Добавьте немного данных в только что созданную таблицу.
INSERT INTO elements (id, elementName, atomicNumber, symbol) VALUES (1, 'Hydrogen', 1, 'H'), (2, 'Helium', 2, 'He'), (3, 'Lithium', 3, 'Li'), (4, 'Beryllium', 4, 'Be'), (5, 'Boron', 5, 'B'), (6, 'Carbon', 6, 'C'), (7, 'Nitrogen', 7, 'N'), (8, 'Oxygen', 8, 'O'), (9, 'Fluorine', 9, 'F'), (10, 'Neon', 10, 'Ne'); -
Настройте учётные данные базы данных Neon в вашем Worker:
Добавьте строку подключения к базе данных Neon в качестве секрета вашего Worker. Получить строку подключения можно в Neon Console ↗ в разделе Сведения о подключении, затем добавьте его как секрет с помощью Wrangler:
# Add the database connection string as a secret npx wrangler secret put DATABASE_URL # When prompted, paste your Neon database connection string -
В Worker установите
@neondatabase/serverlessдрайвер для подключения к вашей базе данных и начала работы с данными:npm i @neondatabase/serverless -
Следующий пример показывает, как выполнить запрос к базе данных Neon из Worker. Учётные данные для подключения к Neon добавлены в Worker в качестве секретов.
import { Client } from "@neondatabase/serverless"; export default { async fetch(request, env, ctx) { const client = new Client(env.DATABASE_URL); await client.connect(); const { rows } = await client.query("SELECT * FROM elements"); return new Response(JSON.stringify(rows)); }, };
Подробнее о Neon см. в Официальная документация Neon ↗.