# Настройка СУБД

<p class="callout info">Информация, приведенная на данной странице, является разработкой команды pre-sales и/или community KUMA и **НЕ** является официальной рекомендацией вендора.</p>

<p class="callout info">Официальная документация по данному разделу приведена в Онлайн-справке на продукт: [https://support.kaspersky.com/help/XDR/2.0/ru-RU/241223.htm](https://support.kaspersky.com/help/XDR/2.0/ru-RU/241223.htm)</p>

#### Создание нового пользователя СУБД с правами на создание БД и пользователей

1\. Подключитесь к СУБД

```bash
sudo -i -u postgres
psql
```

2\. Выполните команды

```postgresql
CREATE USER user WITH PASSWORD 'password';
ALTER ROLE user CREATEDB;
ALTER ROLE user CREATEROLE;
ALTER ROLE user SUPERUSER;
CREATE DATABASE user OWNER user;
\q
```

где, `user` - имя нового пользователя

Альтернативно, можно использовать встроенного пользователя `postgres`, предварительно сменив ему пароль:

```postgresql
ALTER USER postgres WITH PASSWORD 'password';
```

#### Переопределение параметров СУБД

1\. Откройте на редактирование файл конфигурации PostgreSQL:

```
vi /etc/postgresql/<ВЕРСИЯ>/main/postgresql.conf
```

2\. Найдите приведенные ниже параметры в файле конфигурации и переопределите их следующим образом:

```
port = 5432
listen_addresses = '*'
shared_buffers = <X>GB
max_stack_depth = <Y>MB
temp_buffers = 24MB
work_mem = 16MB
max_connections = 512
max_parallel_workers_per_gather = 0
maintenance_work_mem = 128MB
standard_conforming_strings = on
```

где, `<X>` - 25%-40% от общего числа ОЗУ на сервере

<details id="bkmrk-%D0%9A%D0%B0%D0%BA-%D0%BF%D0%BE%D1%81%D0%BC%D0%BE%D1%82%D1%80%D0%B5%D1%82%D1%8C-%D0%BE%D0%B1%D1%8A%D0%B5%D0%BC"><summary>Как посмотреть объем оперативной памяти</summary>

```bash
free --giga
```

</details>`<Y>` - размер стека минус 1MB

<details id="bkmrk-%D0%9A%D0%B0%D0%BA-%D0%BF%D0%BE%D1%81%D0%BC%D0%BE%D1%82%D1%80%D0%B5%D1%82%D1%8C-%D1%80%D0%B0%D0%B7%D0%BC%D0%B5"><summary>Как посмотреть размер стека</summary>

```
ulimit -s
```

Команда выведет размер стека в KB. Для приведения к MB необходимо полученное число разделить на 1024.

</details>3\. Разрешите удаленное подключение к СУБД через правку конфигурационного файла

```
vi /etc/postgresql/<ВЕРСИЯ>/main/pg_hba.conf
```

В секции `# IPv4 local connections:` переопределите значение или убедитесь, что значение соответствует следующему:

```
host   all   all   0.0.0.0/0    scram-sha-256
```

4\. Перезапустите службу

```bash
systemctl restart postgresql
```

#### Проверка подключения к СУБД

1\. Установите на другой хост клиент PostgreSQL:

```bash
sudo apt install postgresql-client
```

2\. Проверьте подключение командой:

```bash
psql -U <user> -h <host> -p 5432
\dx
\q
```

где, `<user>` - имя пользователя, созданного для БД, а `<host>` - адрес хоста, на котором располагается СУБД.