Базы данных
База данных — отдельное приложение под управлением apps, на ноде своего окружения проекта.
| Движок |
Версии |
| PostgreSQL |
18, 17, 16 |
| MariaDB |
11.8, 11.4, 10.11 |
| Valkey |
8, 7.2 |
| Redis |
7.4, 7.2 |
| MongoDB |
8.0, 7.0 |
Движок и мажорная версия фиксируются при создании; деплой подтягивает последний патч этой версии.
Создайте базу
В панели apps откройте окружение проекта → Добавить базу данных, или через API
(POST /api/v1/databases). Пользователь и база называются app; пароль генерируется и запечатывается.
Подключите приложение
apps записывает строку подключения в набор окружения в env:
- всегда как
<NAME>_URL (для базы с именем main — MAIN_URL);
- ещё и как
DATABASE_URL, REDIS_URL или MONGODB_URL, если такой переменной в наборе пока нет.
Приложения этого окружения подхватят её при следующем деплое. Хост в URL — идентификатор базы, доступный
только внутри сети команды на этой ноде. При удалении базы эти переменные удаляются.
Приложения одного окружения работают на одной ноде, чтобы видеть друг друга и свои базы через приватную
сеть этой ноды. База остаётся на ноде, где лежит её том.
Дампы и восстановление
Администраторы команды могут скачать дамп на странице базы (pg_dump -Fc, mariadb-dump, RDB-файл, архив
mongodump) и восстановить его на месте. Восстановление заменяет данные: сначала остановите запись и сделайте
свежий дамп.
Бэкапы
Сервис backups берёт все работающие базы в планах, которые включают все источники, или выбранные
(app:<id>): нода передаёт дамп прямо в restic, так что копия не ложится на диск control plane.
Восстановление из панели backups идёт тем же путём. См. Бэкапы и восстановление.
Сохранность в Valkey и Redis
Valkey и Redis раз в минуту пишут снимок RDB, если были изменения. Используйте их для кэша, очередей и
сессий; данные, которые нельзя потерять, держите в PostgreSQL.
Публичный доступ
По умолчанию у баз нет публичного порта. Перенятые проекты, у которых порт базы был опубликован, сохраняют
его как TCP-доступ со списком разрешённых адресов. Предпочтительнее обращаться к базе с ноутбука через
приложение, дамп или SSH-туннель на ноду.
Лимиты
База считается в apps.apps и apps.memory, как любое приложение.