Размещение таблиц данных на собственном сервере
При необходимости вы можете разместить таблицы данных на собственном сервере.
Требования к оборудованию
CPU | RAM | Storage | |
---|---|---|---|
Минимальные | 4 vCPU | 8 ГБ | Зависит от объема данных, 50ГБ SSD стандартно |
Средние | 8 vCPU | 16 ГБ | |
Максимальные | 16 vCPU | 32 ГБ |
Программное обеспечение
- OS Linux (Debian/Ubuntu)
- PostgreSQL 16
- PgBouncer 1.19
Настройки файрвола
- Разрешить входящие соединения на порт 6432/tcp (для подключения к PgBouncer)
Перечень ip-адресов, с которых будут выполняться запросы, вы можете получить у своего менеджера.
Последовательность действий
1. Убедиться, что Postgres и PgBouncer запущены и готовы принимать подключения.
2. Создать пользователя enkod_datatables в Postgres и в PgBouncer. Выдать юзеру права в Postgres запросом:
GRANT ALL ON SCHEMA public TO enkod_datatables;
где public - базовая схема.
3. Передать данные для доступа к базе данных на почту вашего аккаунт-менеджера.
Обязательно укажите в письме следующие данные:
- адрес
- пользователь
- пароль
- название базы данных
Дополнительно: при использовании порта, отличного от дефолтного (6432), укажите его в письме.
Требования к структуре таблиц
Допускается работа с БД напрямую (минуя интерфейс и API enKod), в этом случае для корректной работы необходимо соблюдать правила:
1. Не удалять домены:
- email
- phone
- datetime
- datenotime
- number
- session
При создании БД они созданы запросом:
create domain email as text; create domain phone as text; create domain datetime as int8; create domain datenotime as int8; create domain number as int8; create domain session as text;
Указанные домены необходимы для корректной работы с таблицами данных через интерфейс, работы сегментов и динамического контента.
2. Каждая таблица должна быть создана с первым столбцом ___sys_id___ :
CREATE TABLE table_name ( ___sys_id___ bigserial UNIQUE NOT NULL, ...;
Столбец необходим для корректной работы CRUD операций через API, динамический контент и интерфейс.