> ## Documentation Index
> Fetch the complete documentation index at: https://docs.axottle.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Внешняя PostgreSQL

> Установить новую базу Remnawave или перенести данные в существующую PostgreSQL с проверкой и возвратом исходного подключения.

Remnawave может использовать PostgreSQL на отдельном сервере, в другом
Compose-проекте или у провайдера управляемых баз. Axottle определяет активную
базу по фактическому `DATABASE_URL` контейнера панели. Старый контейнер
PostgreSQL рядом с панелью не подменяет это подключение.

Откройте **Remnawave → нужная панель → Статус → Внешняя база данных**.
Сначала выполните обнаружение работающего стека. Для удалённой Remnawave
обновите также её Axottle Agent. Возможность требует доступа к бэкапам Remnawave.

## Установить новую PostgreSQL

1. Нажмите **Настроить внешнюю БД → Установить новую PostgreSQL**.
2. Выберите сервер из парка либо укажите другой SSH-хост. Известные IP, порт
   и пользователь подставляются из настроек ноды.
3. Укажите SSH-доступ к серверу БД. Если Remnawave работает отдельно от
   Axottle, мастер также запросит SSH-доступ к серверу самой Remnawave.
4. Укажите приватный или VPN-адрес новой БД, свободный порт и IP либо подсеть,
   с которых сервер БД видит Remnawave после NAT. Сеть подготовьте заранее:
   публичный bind-адрес, `0.0.0.0` и доступ из всего интернета не допускаются.
5. Проверьте имя базы, пользователя и итоговую сводку, затем запустите установку.

Axottle установит Docker при необходимости и отдельную PostgreSQL 17
с собственным томом, случайным паролем и ограничением источников подключения.
Проверка выполняется из сети Remnawave. До отдельного переключения панель
продолжает работать с прежней базой.

## Использовать существующую БД

В том же мастере выберите **Использовать существующую БД**. Укажите адрес,
порт, базу, пользователя, пароль и TLS. Целевая PostgreSQL должна быть
версии **17**, база — выделенной для Remnawave и пустой. Пользователю нужны
права создания схем и таблиц, включая схему `public`.

SSH к серверу готовой БД не требуется. Для удалённой Remnawave нужен SSH
к её серверу: оттуда выполняются проверки и перенос.

| TLS                                 | Когда использовать                                                                              |
| ----------------------------------- | ----------------------------------------------------------------------------------------------- |
| Полная проверка сертификата и имени | По умолчанию; для своего CA укажите путь сертификата, уже смонтированного в контейнер Remnawave |
| TLS без проверки сертификата        | Соединение шифруется, но личность сервера не проверяется                                        |
| Без TLS                             | Для подготовленной приватной сети, если это допускает ваша конфигурация                         |

Нажмите **Проверить существующую БД**. Axottle проверит доступность, версию,
пустоту базы и права на создание объектов. Проверочные объекты не остаются
после завершения проверки. Текущая панель продолжает работать.

## Перенести данные и подключить

Когда появится состояние **Готова к переносу**, нажмите **Перенести данные
и подключить** и подтвердите временную остановку Remnawave.

Axottle остановит панель, снимет финальный дамп, восстановит его в целевой БД,
сверит число пользователей и нод, изменит подключение в Compose, запустит
Remnawave и проверит её API. Исходная база остаётся на месте.

Для существующей БД цель повторно проверяется до остановки панели и перед
восстановлением. Перенос в текущую или занятую базу отклоняется. Восстановление
выполняется одной транзакцией без удаления существующих объектов цели.

Мастер поддерживает стек Remnawave с одним Compose-файлом и правом его менять.
Остальные параметры сохраняются; форматирование YAML и комментарии могут
измениться. Во время работы не запускайте переезд той же панели на другой сервер.

## Проверка

1. Дождитесь итогового состояния подключения, а не только принятия команды.
2. Повторите обнаружение runtime и проверьте адрес, порт и имя внешней базы.
3. Откройте Remnawave и проверьте пользователей, ноды и доступность API.
4. В [профиле бэкапа](/ru/remnawave/backups) проверьте доступ, создайте архив
   и выполните проверку его целостности.

Бэкапы выполняются с хоста Remnawave; отдельный Agent на сервере PostgreSQL
не нужен. Для PostgreSQL-клиента используется временный Docker-контейнер,
обычно `postgres:17`. Образ должен быть доступен на хосте исполнителя.
При нестандартной версии сервера подберите совместимый клиент через
`AXOTTLE_RW_PGTOOLS_IMAGE`; `pg_dump` не должен быть старше сервера.

TLS-файлы должны быть доступны в контейнере Remnawave. Если адрес, порт,
база или пользователь изменились после обнаружения, операция останавливается
до обращения к другой БД. После изменения настроек повторите обнаружение.
Изменение пароля само по себе не требует пересохранения профиля бэкапа.

## Откат

При ошибке переключения Axottle пытается вернуть исходное подключение.
Если возврат не завершился или Axottle перезапустился во время переключения,
карточка предложит **Восстановить исходное подключение**. Подтвердите действие;
доступ к новому серверу БД для него не нужен.

<Warning>
  Записи, появившиеся в новой БД после запуска Remnawave, при возврате в исходную
  базу не переносятся. Возврат подключения не объединяет две базы.
</Warning>

Если восстановление в существующую БД завершилось, а проверка панели затем
не прошла, скопированные данные остаются в цели. Для повторной попытки
выделите другую пустую базу либо подготовьте прежнюю вручную: мастер её
автоматически не очищает.

Исходный Compose сохраняется рядом как `<compose>.axottle-<setup-id>.before`,
дамп — в каталоге данных Axottle `remnawave-database-setups/<setup-id>/source.rwbak`.
Эти копии не входят в срок хранения обычных бэкапов. Установка новой БД находится
на выбранном сервере в `/opt/axottle/remnawave-databases/<setup-id>`.

**Завершить без подключения** оставляет установленную PostgreSQL и данные.
После успешного подключения либо завершения без него сохранённые в Axottle
SSH-реквизиты и секреты задания удаляются. Секреты не возвращаются в ответах API
и не показываются на экране прогресса.

Если нужно перенести саму панель вместе с данными на новый сервер, используйте
[переезд Remnawave](/ru/remnawave/migration).

<Note>Сверено с кодом Axottle на 2026-09-22. Возможности зависят от установленной сборки; перенос на живых серверах в рамках этой сверки не выполнялся.</Note>
