Managed PostgreSQL
Managed PostgreSQL на платформе ONREZA. Полноценный PostgreSQL с автомасштабированием, ветвлением баз данных и автоматическим засыпанием при бездействии.
Возможности
Заголовок раздела «Возможности»- Serverless compute — автомасштабирование от 0.25 до 4.0 CU (PRO)
- Auto-suspend — сервер засыпает при отсутствии запросов, экономя ресурсы
- Ветвление (branching) — создание независимых копий БД для preview-деплоев и тестирования
- Полный PostgreSQL — стандартный PostgreSQL без ограничений на расширения
- Compute Units — гибкий выбор размера вычислительных ресурсов по плану
- Pay-as-you-go — PRO-план с включёнными кредитами и оплатой превышения
Быстрый старт
Заголовок раздела «Быстрый старт»- Откройте вкладку PostgreSQL в настройках проекта.
- Нажмите Создать базу данных — для Hobby достаточно ввести имя.
- Получите строку подключения — пароль всегда доступен через панель управления.
- Подключайтесь из приложения стандартным PostgreSQL-клиентом.
Подключение
Заголовок раздела «Подключение»Используйте стандартную строку подключения PostgreSQL:
postgresql://user:password@endpoint.kaiki.onreza.ru:5432/dbname?sslmode=requireРежим подключения
Заголовок раздела «Режим подключения»При наличии серверного пулинга доступны два режима:
| Режим | Описание | Когда использовать |
|---|---|---|
| Pooled | Через PgBouncer — пул соединений на стороне сервера | Основной запросы, API, фоновые задачи |
| Direct | Прямое подключение к PostgreSQL | Администрирование, миграции, LISTEN/NOTIFY |
Рекомендуемый режим определяется автоматически. Переключатель доступен в карточке подключения в панели управления — если для вашей БД доступен пулинг, он будет включён по умолчанию.
Пароль всегда доступен
Заголовок раздела «Пароль всегда доступен»Пароль базы данных хранится в зашифрованном виде и всегда доступен через кнопку «Показать» в панели управления. Вы не потеряете доступ к БД, даже если не сохранили пароль при создании.
При необходимости пароль можно сбросить — это сгенерирует новый пароль и перезапустит серверы.
Подключение из кода
Заголовок раздела «Подключение из кода»В панели доступны готовые примеры подключения для:
- .env — переменная
DATABASE_URL - Prisma — конфигурация
datasource - Drizzle — конфигурация подключения
- Node.js / Bun — прямое подключение через
pg
Автоматическое подключение к деплоям
Заголовок раздела «Автоматическое подключение к деплоям»Включите «Привязка к деплоям» — переменная DATABASE_URL будет автоматически добавляться при каждом деплое. Для preview-деплоев можно включить автоматическое создание веток БД.
Compute Units (CU)
Заголовок раздела «Compute Units (CU)»Compute Unit — единица вычислительных ресурсов. 1 CU = 1 vCPU + 4 ГБ RAM.
Доступные размеры по планам
Заголовок раздела «Доступные размеры по планам»| CU Size | vCPU | RAM | Hobby | PRO | Enterprise |
|---|---|---|---|---|---|
| 0.25 CU | 0.25 | 1 ГБ | Фиксированный | От | От |
| 0.5 CU | 0.5 | 2 ГБ | — | До | До |
| 1.0 CU | 1 | 4 ГБ | — | До | До |
| 2.0 CU | 2 | 8 ГБ | — | До | До |
| 4.0 CU | 4 | 16 ГБ | — | До | До |
| 8.0 CU | 8 | 32 ГБ | — | — | До |
- Hobby — фиксированный 0.25 CU, изменить нельзя
- PRO — выбор от 0.25 до 4.0 CU
- Enterprise — до 8.0 CU
Влияние на биллинг
Заголовок раздела «Влияние на биллинг»Compute тарифицируется в CU-часах. CU-час = 1 час работы сервера при CU size = 1.0. Стоимость пропорциональна размеру: 1 час на 2.0 CU = 2 CU-часа, 1 час на 0.25 CU = 0.25 CU-часа.
Автомасштабирование (Autoscaling)
Заголовок раздела «Автомасштабирование (Autoscaling)»Автоматическое вертикальное масштабирование — ресурсы изменяются без рестарта PostgreSQL.
Как работает
Заголовок раздела «Как работает»- Каждые 15 секунд проверяется потребление памяти сервера
- Если использование памяти > 80% — размер увеличивается на следующий шаг
- Если использование памяти < 20% — размер уменьшается
- Масштабирование ограничено заданным диапазоном минимального и максимального CU
Шаги масштабирования: 0.25 → 0.5 → 1.0 → 2.0 → 4.0
Автоматическое засыпание (Auto-suspend)
Заголовок раздела «Автоматическое засыпание (Auto-suspend)»Сервер БД автоматически засыпает при отсутствии запросов, экономя compute-ресурсы. При новом подключении сервер пробуждается за 2–3 секунды.
Настройка таймаута
Заголовок раздела «Настройка таймаута»| Значение | Поведение |
|---|---|
| По умолчанию | Платформа выбирает оптимальный таймаут (~5 минут) |
| Отключено | Сервер не засыпает (consume compute постоянно) |
| 5 минут | Засыпание через 5 мин бездействия |
| 15 минут | Засыпание через 15 мин бездействия |
| 1 час | Засыпание через 1 час бездействия |
| 1 день | Засыпание через 24 часа бездействия |
Таймаут настраивается в разделе Настройки базы данных. Доступные значения: от 1 минуты до 30 дней.
Ветвление баз данных
Заголовок раздела «Ветвление баз данных»Ветки (branches) — полные копии базы данных для:
- Preview-окружений — каждый PR получает свою копию БД
- Миграций — тестирование миграций на ветке до применения в production
- Экспериментов — безопасное тестирование с реальными данными
Ветка создаётся мгновенно (copy-on-write) и не занимает дополнительного места до момента изменения данных.
Лимиты веток
Заголовок раздела «Лимиты веток»| План | Баз данных | Веток на БД | Всего веток |
|---|---|---|---|
| Hobby | 1 | 1 (только main) | 1 |
| Pro | 3 | 5 | 15 |
| Enterprise | Индивидуально | Индивидуально | Индивидуально |
БД, ветки, compute, storage и transfer считаются с первого активного ресурса и покрываются общим usage credit. Usage сверх credit на Pro оплачивается только в пределах extra usage budget.
Лимиты по планам
Заголовок раздела «Лимиты по планам»| Control | Значение | При превышении |
|---|---|---|
| Usage credit | 1 000 ₽/мес | Новые billable-операции блокируются до нового периода или перехода на Pro |
| CU Size | 0.25 (фиксированный) | Изменение размера недоступно |
| Баз данных | 1 | Создание заблокировано |
| Веток | 1 (main) | Создание заблокировано |
| Autoscaling | Нет | Недоступно |
Pro (1499 ₽/мес)
Заголовок раздела «Pro (1499 ₽/мес)»| Метрика | Лимит/ставка |
|---|---|
| Usage credit | 5 000 ₽/мес |
| Extra usage budget | 10 000 ₽/период по умолчанию |
| Compute | 7.50 ₽/CU-час (блоками по 1 CU-ч) |
| Storage | 15 ₽/ГБ-мес |
| Data Transfer | 2 ₽/ГБ |
| Баз данных | До 3, 100 ₽/мес за активную БД |
| Веток на БД | До 5, 30 ₽/мес за активную ветку |
| CU Size | 0.25–4.0 |
| Autoscaling | 0.25–4.0 CU |
Enterprise
Заголовок раздела «Enterprise»Индивидуальные лимиты, CU до 8.0, выделенные ресурсы. Свяжитесь с sales@onreza.ru.
Контроль потребления
Заголовок раздела «Контроль потребления»Контролируемые метрики
Заголовок раздела «Контролируемые метрики»| Метрика | При превышении |
|---|---|
| Storage | БД переводится в режим read-only |
| Compute | Все серверы приостанавливаются |
| Data Transfer | Все серверы приостанавливаются |
| Ветки | Создание новых веток заблокировано |
Снятие ограничений
Заголовок раздела «Снятие ограничений»Ограничения снимаются автоматически при:
- Увеличении плана — переход на PRO/Enterprise (применяется автоматически)
- Начале нового месяца — месячные лимиты (compute, transfer) обнуляются 1-го числа UTC
- Очистке данных — для storage: удаление данных или веток
Оптимизация затрат
Заголовок раздела «Оптимизация затрат»Снижение Compute (CU-часов)
Заголовок раздела «Снижение Compute (CU-часов)»- Connection pooling — используйте режим Pooled для пулинга соединений на стороне сервера
- Auto-suspend — сервер засыпает при бездействии, пробуждение при подключении (~2-3 сек). Настройте таймаут в разделе «Настройки»
- Батчинг запросов — группируйте мелкие запросы, чтобы уменьшить количество пробуждений
- Меньший CU size — если нагрузка позволяет, используйте 0.25 CU
Снижение Storage
Заголовок раздела «Снижение Storage»- VACUUM — регулярная очистка мёртвых строк
- Партиционирование — архивирование старых данных
- Удаление неиспользуемых веток — ветки с изменениями занимают дополнительное место
Снижение Data Transfer
Заголовок раздела «Снижение Data Transfer»- Пагинация — ограничивайте размер выборок (
LIMIT/OFFSETили cursor-based) - Проекция колонок — запрашивайте только нужные поля вместо
SELECT * - Кэширование — кэшируйте часто запрашиваемые данные на стороне приложения
Мониторинг
Заголовок раздела «Мониторинг»Метрики отображаются в разделе PostgreSQL проекта:
- Использование ресурсов — CU-часы, storage, data transfer с прогнозом стоимости (PRO)
- Лимиты и использование — прогресс-бары для всех метрик
- Использование по веткам — разбивка хранилища по каждой ветке
- Серверы — статус и последняя активность каждого сервера БД
Ограничения
Заголовок раздела «Ограничения»- Максимальное число баз данных и веток определяется вашим тарифным планом
- Auto-suspend имеет минимальный порог бездействия (1 минута), настраивается в «Настройках» БД
- Максимальный размер CU: 4.0 на PRO, 8.0 на Enterprise
- Compute и transfer лимиты обнуляются 1-го числа каждого месяца UTC
Управление через CLI
Заголовок раздела «Управление через CLI»Все операции с managed PostgreSQL доступны через nrz db:
# Создать БД и дождаться готовностиnrz db create --name my-db --wait
# Получить строку подключенияnrz db connection
# Выполнить SQLnrz db query "SELECT * FROM users LIMIT 10"
# Посмотреть структуру таблицnrz db schema
# Управление веткамиnrz db branchesnrz db branches create stagingnrz db branches connection staging
# Настроить auto-inject для деплоевnrz db config --auto-inject on --preview-branches onDATABASE_URL в локальной разработке
Заголовок раздела «DATABASE_URL в локальной разработке»При запуске nrz dev переменная DATABASE_URL автоматически подтягивается из managed PostgreSQL и инжектируется в процесс. Это работает когда:
- Проект привязан к платформе (
nrz link) - У БД включён auto-inject
Для подключения к конкретной ветке:
nrz dev --db-branch stagingИли укажите ветку в onreza.toml:
[db]branch = "dev"