Базы данных: PostgreSQL, MySQL и Valkey.
Управляемые базы данных для вашего проекта: переменные подключения, восстановление на любую минуту за последние 7 дней, оповещения о диске, доступ извне, вкладка «Данные» с таблицами, запросами, импортом и экспортом, а также реплики для чтения.
Добавьте в проект базу данных, и ваше приложение подключится к ней само — копировать пароли не нужно. Резервные копии, восстановление и оповещения о диске мы берём на себя.
Обзор → Сервисы → Добавить сервис, затем выберите:
| Движок | Для чего |
|---|---|
| PostgreSQL 17 | большинство приложений |
| MySQL 8.4 | приложения, рассчитанные на MySQL |
| Valkey 8 | Redis-совместимое хранилище для очередей, кеша и сессий — Horizon, Celery, BullMQ, Sidekiq |
Задайте имя (например, db) и выберите ресурсы. Новая база данных начинается с 1 ГБ памяти, 1 ядра процессора и 10 ГБ диска — $10 в месяц. Цена — как у любого сервиса: $6 за ГБ памяти, $4 за ядро, 10 ГБ диска включено на каждый ГБ памяти, далее $0.15 за ГБ.
Подключение: настраивать ничего не нужно
Сервисы проекта обращаются к базе данных внутри частной сети проекта по её имени. Данные для подключения у них уже есть в виде переменных:
- PostgreSQL / MySQL:
DATABASE_URL,DB_CONNECTION,DB_HOST,DB_PORT,DB_DATABASE,DB_USERNAME,DB_PASSWORD; для PostgreSQL такжеPGHOST,PGPORT,PGDATABASE,PGUSER,PGPASSWORD. - Valkey:
REDIS_URL,REDIS_HOST,REDIS_PORT,REDIS_PASSWORD,REDIS_CLIENT. - Каждая база данных также даёт
RIVERVO_<NAME>_URL— для базы с именемdbэтоRIVERVO_DB_URL.
В Обзор базы данных → Подключение показаны хост, порт, база данных и пользователь, а также список Переменные, которые получает проект. Приложение получает переменные со следующим развёртыванием.
Вторая база данных. Привычные имена получает только первая база данных каждого вида. Если в проекте она уже есть, новая база добавляет только свою RIVERVO_<NAME>_URL, а приложение продолжает использовать первую. Чтобы переключиться, задайте на вкладке Переменные значения DATABASE_URL и DB_* новой базы.
Резервные копии и восстановление на любую минуту
PostgreSQL и MySQL резервируются непрерывно: каждое изменение сохраняется в момент, когда оно происходит, поэтому базу данных можно вернуть к любой минуте за последние 7 дней. Кроме того, каждый день создаётся полная копия. Всё хранится в зашифрованном виде, отдельно от базы данных.
Чтобы восстановить: вкладка Резервные копии базы данных → Восстановить на момент, выберите дату и время (любую минуту от начала периода до момента пару минут назад), затем Вернуть к этому моменту. В списке ниже — ежедневные копии (и созданные через Создать копию сейчас); каждую из них тоже можно восстановить.
Перед любым восстановлением мы сначала сохраняем текущее состояние, поэтому восстановление всегда можно отменить. Пока база данных восстанавливается, она недолго недоступна; панель показывает ход восстановления.
Valkey резервируется каждый день; мы храним копии за последние 7 дней и 4 недели.
Восстановление доступно владельцу аккаунта и администраторам приложения.
Резервные копии самого приложения
У основного приложения есть своя вкладка Резервные копии для файлов, которые оно хранит на своём диске (например, загруженные файлы или база данных SQLite в Laravel). Они копируются каждый день и хранятся в зашифрованном виде; мы храним копии за последние 7 дней и 4 недели. Создать копию сейчас делает дополнительную копию в любой момент.
Диск: строгий лимит с предупреждениями
Диск базы данных — ровно того размера, который вы выбрали. Мы сообщаем вам по электронной почте (и в Telegram, если вы его подключили), когда он заполняется на 80% и 90%, и ещё раз, если он заполнится полностью. Заполненный диск не останавливает базу данных: она продолжает отвечать, но не может сохранять новые данные, пока диск не станет больше.
Чтобы увеличить диск: Настройки базы данных → Ресурсы, передвиньте ползунок Диск и нажмите Применить. Это занимает немного времени и не требует перезапуска.
Доступ извне
По умолчанию к базе данных обращаются только сервисы проекта. Чтобы подключиться с вашего компьютера, из BI-инструмента или с другого сервера, откройте Обзор базы данных → Доступ извне → Открыть доступ:
- Добавьте адреса, с которых можно подключаться, — отдельный IP (
203.0.113.7) или сеть (198.51.100.0/24). Добавить мой адрес добавляет адрес, с которого вы работаете сейчас. - Сохранить адреса. Панель покажет внешний хост, порт и Строка подключения.
Подключения извне шифруются сертификатом на собственный адрес базы данных:
- PostgreSQL принимает подключения извне только в зашифрованном виде.
- Valkey принимает их только через TLS.
- MySQL поддерживает шифрование — включите его в своём клиенте (режим SSL «required»).
Закрыть доступ сразу прекращает подключения извне; сервисы проекта продолжают работать как прежде. Открывать и закрывать доступ могут владелец аккаунта и администраторы приложения.
Вкладка «Данные»
У каждой базы данных есть вкладка Данные, поэтому просматривать данные и работать с ними можно, ничего не устанавливая.
Таблицы и запросы (PostgreSQL, MySQL)
- Таблицы — просмотр любой таблицы, по 50 строк на странице, только чтение. Найти таблицу фильтрует список.
- SQL-редактор — выполнение запросов от имени собственного пользователя базы данных. Запросы на чтение выполняются сразу; команды, изменяющие данные, требуют подтверждения. До 30 секунд и 1 000 строк на запрос.
Ключи и команды (Valkey)
Просматривайте ключи по шаблону (например, user:*) и смотрите их значения; выполняйте по одной команде в привычном синтаксисе Valkey. Команды, изменяющие данные, требуют подтверждения. FLUSHALL, FLUSHDB, CONFIG, SHUTDOWN, DEBUG и скрипты здесь недоступны.
Импорт
Данные → Импорт и экспорт → Импорт данных, из одного из трёх источников:
- Из файла —
.sqlили.sql.gz; для PostgreSQL также архивpg_dump -Fc(.dump). До 2 ГБ (и не больше диска базы данных); не закрывайте страницу, пока загрузка не завершится. - По ссылке — ссылка на файл дампа, который открывается без входа в систему, например временная ссылка из вашего хранилища. Большие дампы передаются потоком, поэтому подойдёт любой размер, который помещается на диск.
- Из другой базы — другая база данных того же вида, доступная из интернета: PostgreSQL в PostgreSQL, MySQL или MariaDB в MySQL. Сначала мы проверяем подключение, затем копируем данные напрямую. Пароль используется только для этого копирования и не сохраняется.
Перед каждым импортом мы сохраняем резервную копию текущих данных, поэтому их всегда можно восстановить на вкладке Резервные копии. Таблицы и другие объекты из импорта заменяют объекты с теми же именами; всё остальное остаётся. База данных тем временем продолжает работать, а страницу можно закрыть.
Экспорт
Экспорт → Создать копию готовит свежую копию: архив PostgreSQL (.dump, восстанавливается через pg_restore) или сжатый SQL-файл (.sql.gz) для MySQL. Ссылка для скачивания появляется, когда копия готова, и действует 24 часа.
Кто что может
Вкладка Данные — просмотр данных, их изменение в редакторе, импорт и экспорт — доступна владельцу аккаунта и людям с ролью Разработчик или Администратор в приложении. Роль Только просмотр данные не видит. См. Доступ к приложению.
Реплики для чтения (PostgreSQL, MySQL)
Реплика для чтения — это копия базы данных, которая повторяет каждое изменение в течение нескольких секунд. Направляйте на неё отчёты, аналитику, выгрузки и другие тяжёлые запросы на чтение, и основная база данных останется быстрой для записи.
Обзор базы данных → Реплики для чтения → Добавить реплику для чтения. До 2 реплик на одну базу данных.
- Реплика хранит полную копию данных, поэтому её диск не меньше диска основной базы.
- Проект получает собственную переменную реплики
RIVERVO_<NAME>_URL(по имени реплики);DATABASE_URLостаётся на основной базе. - Первое копирование занимает несколько минут в зависимости от объёма данных; основная база тем временем продолжает работать.
- Реплика принимает только запросы на чтение. Резервные копии и восстановление на момент остаются за основной базой.
- Панель показывает, насколько реплика отстаёт (Синхронизирована или задержка в секундах). Если отставание больше минуты сохраняется 5 минут, мы сообщаем вам и сами разбираемся в причине.
Реплика оплачивается как любой сервис, по её собственным ресурсам.
Превращение реплики в самостоятельную базу
Настройки реплики → Сделать самостоятельной. Реплика навсегда перестаёт повторять основную базу, начинает принимать запись и получает собственные резервные копии. Это занимает около минуты. Проект оставляет DATABASE_URL на исходной базе данных; чтобы перевести приложение на новую самостоятельную базу, измените DATABASE_URL и DB_* на вкладке Переменные.