---
title: База данных
description: Хранилища данных 3x-ui — SQLite (по умолчанию) и PostgreSQL — путь к базе данных, пул соединений и миграция с SQLite на PostgreSQL.
icon: Database
---

3x-ui хранит всё — входящие подключения, клиентов, настройки — в базе данных.
Бэкенд выбирается во время установки; оба являются полноценными.

## SQLite (по умолчанию)

Один файл по пути `/etc/x-ui/x-ui.db`. Никакой настройки не требуется, идеально
подходит для небольших и средних развёртываний. Папку можно изменить с помощью
[`XUI_DB_FOLDER`](/docs/reference/env-vars#database) (в Windows по умолчанию она
располагается рядом с бинарным файлом).

## PostgreSQL

Рекомендуется при большом количестве клиентов или конфигурациях с несколькими
узлами. Инсталлятор может установить PostgreSQL локально за вас либо принять DSN
к уже существующему серверу. Во время выполнения бэкенд выбирается через
переменные окружения, которые инсталлятор записывает в `/etc/default/x-ui`:

```bash title="/etc/default/x-ui"
XUI_DB_TYPE=postgres
XUI_DB_DSN=postgres://xui:password@127.0.0.1:5432/xui?sslmode=disable
```

Настройте пул соединений с помощью `XUI_DB_MAX_OPEN_CONNS` и
`XUI_DB_MAX_IDLE_CONNS`.

### Docker

`docker compose up -d` продолжает использовать SQLite. Чтобы запустить со
встроенным сервисом PostgreSQL, раскомментируйте две строки `XUI_DB_*` в
`docker-compose.yml` и запустите с профилем:

```bash
docker compose --profile postgres up -d
```

## Миграция SQLite → PostgreSQL

Перенесите существующую установку SQLite на PostgreSQL встроенной командой:

```bash
x-ui migrate-db --dsn "postgres://xui:password@127.0.0.1:5432/xui?sslmode=disable"
```

Затем задайте `XUI_DB_TYPE` и `XUI_DB_DSN` в `/etc/default/x-ui` и перезапустите:

```bash
systemctl restart x-ui
```

<Callout type="info">
  Исходный файл SQLite остаётся нетронутым — удаляйте его вручную только после
  того, как убедитесь, что новый бэкенд работает.
</Callout>

## Резервные копии

Какой бы бэкенд вы ни использовали, регулярно создавайте резервные копии — см.
[Резервное копирование и восстановление](/docs/operations/backup-restore).
