Подключение СУБД PostgreSQL
В версии Webim 10.6 была добавлена поддержка СУБД PostgreSQL "из коробки". Для подключения этой СУБД необходимо использовать новый компонент - php2db - специальную прослойку, обеспечивающую взаимодействие PHP с базой данных.
N.B.
Стоит отметить, что php2db может работать и с СУБД MySQL. В таком случае СУБД будет проксировать свои запросы через php2db. Такая конфигурация позволяет обеспечить работу одновременно нескольких аккаунтов Webim, использующих различные СУБД.
По умолчанию этот компонент отключен. Для его включения необходимо произвести приведённые ниже шаги:
-
Задайте необходимые параметры для подключения Webim Server к СУБД PostgreSQL в файле
/etc/webim/db.json
, например:{ "dbs": { "meta": { "type": "postgresql", "host": "<HOST_IP_ADDRESS>", "user": "webim_service", "password": "<PASSWORD>", "db": "webim_service", "schema": "webim_site" }, "pro": { "default": { "connection": "db1", "slave": { "connection":"db1" } } } }, "connections": { "db1": { "type": "postgresql", "host": "<HOST_IP_ADDRESS>", "port": "<HOST_PORT>", "user": "webim_service", "password": "<PASSWORD>", "db": "webim_service", "timeouts": { "connect": 5 } } } }
Здесь:
-
<HOST_IP_ADDRESS>
- IP-адрес СУБД. В качестве значения принимаются только адресаIPv4
; -
<HOST_PORT>
- порт, через который будут приниматься запросы к СУБД. Значением должно являться строго 4 или 5 десятичных цифр, обозначающих номер порта; -
<PASSWORD>
- пароль пользователя СУБДwebim_service
.
Таймаут подключения (
connections.db1.timeouts.connect
) задаётся в секундах. Вы можете задать его по собственному желанию. -
-
В файле
/etc/webim/main.ini
добавьте строку:php2db_enable = true php2db_query_timeout = 3
Использование
php2db_query_timeout
Данная опция задаёт таймаут для запросов к БД со стороны
php2db
, единица измерения - секунды. Значение по умолчанию - 3 секунды. -
В директории
/etc/webim
создайте файлphp2db-config.json
. -
Добавьте в созданный файл следующую конфигурацию:
{ "ports": { "eta": ["<YOUR_IP_ADDRESS>:<PORT>"] } }
Здесь
<YOUR_IP_ADDRESS>
- IP-адрес, на котором будет размещёнphp2db
,<PORT>
- порт, через который будет осуществляться взаимодействие. -
Перезапустите Webim Server.