Базы данных
Управляемый PostgreSQL и Redis-совместимое key–value хранилище: создаются рядом с сервисами и подключаются через переменные окружения.
Что можно создать#
| Field | Description |
|---|---|
| PostgreSQL | Реляционная база для данных приложения: пользователи, заказы, контент. Схемы, индексы, расширения и SQL-миграции. |
| Key–value (Redis-совместимое) | Хранилище в памяти для кеша, сессий, rate limiting и простых очередей. |
| Своё в контейнере | Любой другой движок (MySQL, MongoDB, ClickHouse) можно запустить как приватный сервис с подключённым постоянным диском. |
Создание базы данных#
- 1Откройте панель управленияПерейдите на console.muerte.cloud → Создать сервис → База данных.
- 2Выберите движок и версиюPostgreSQL или key–value, версия — та, которую ожидает приложение.
- 3Задайте ресурсы и размер хранилищаvCPU, RAM и размер диска можно увеличить позже; в хранилище лежат сами данные, поэтому оставьте запас.
- 4Скопируйте строку подключенияПосле создания в панели появятся внутренняя и внешняя строки подключения, а также хост, порт, пользователь и имя базы.
Подключение сервиса#
Держите строку подключения в переменной окружения, а не в коде. Если сервис и база в одном проекте, используйте внутреннюю строку — трафик остаётся в приватной сети и идёт быстрее.
DATABASE_URL=postgres://user:password@internal-host:5432/appdb
REDIS_URL=redis://internal-host:6379import { Pool } from "pg";
export const pool = new Pool({
connectionString: process.env.DATABASE_URL,
max: 10,
});Миграции#
Запускайте миграции в pre-deploy-команде: они выполнятся один раз за релиз, до того как новая версия начнёт принимать трафик. См. как работают деплои.
# pre-deploy команда
npm run migrate:deployВнешний доступ
Внешняя строка подключения нужна, чтобы подключиться локальным клиентом (psql, DBeaver, TablePlus) для отладки и разовых запросов. Для всего, что работает в проде, используйте внутренний адрес.
Бэкапы и восстановление#
Базы попадают в ту же систему резервного копирования, что и диски: копии по расписанию или вручную, настраиваемая глубина хранения, восстановление из любой сохранённой копии. Настройте расписание до появления реальных пользователей — см. резервные копии.