среда, 13 января 2016 г.

1С PostgreSQL Ubunntu

Когда речь идет про 1С, то лучше опустить многие моменты, о ней можно бесконечно долго спорить. Ладно, не будем и холивать на темы негрософта. В общем, фанатам Linux в частности Ubuntu данная статья может быть когда-то поможет.

Допустим, надо поднять сервер базы данных для нашей 1С. К сожалению или к счастью 1С работает только с MS SQL и PostgreSQL.  Нам нужен второй вариант, и не просто второй а с патчами для работы с библиотекой mvarchar которая нужна для работы с кодировками.  Если все нормально пропатчено, в кластере серверов 1С можно указать сервер с БД, лог/пас, и коннектится. При успешном коннекте можно пытаться создавать базу непосредственно с самой 1С, проще говоря, база почти сама создается. Так вот, если все проходит гладко, не надо переживать, и успешно работать. Если же патченный PostgreSQL выдает ошибку при создании БД

ERROR: type "mvarchar" does not exist at character 3

Тогда нужно проверить наличие библотек

ls /usr/lib/postgresql/9.4/lib/*libicu*

У меня же было целое ничего, когда я впервые пытался создать базу данных.
Но я же качал патченную прямо с сайта 1С! Как же так? И тут я решил посмотреть, есть ли вообще в системе такие либы

$ find / -name "libicudata*"

И о чудо, они лежат в /usr/lib/x86_64-linux-gnu/

Что можно сделать? Скопировать? не, можно симлинк, и все будет хорошо

 $    ln -s /usr/lib/x86_64-linux-gnu/libicudata.so.52.1 /usr/lib/postgresql/9.4/lib/libicudata.so.52
 $    ln -s /usr/lib/x86_64-linux-gnu/libicui18n.so.52.1 /usr/lib/postgresql/9.4/lib/libicui18n.so.52
 $    ln -s /usr/lib/x86_64-linux-gnu/libicuuc.so.52.1 /usr/lib/postgresql/9.4/lib/libicuuc.so.52


Перезагружаем наши сервисы с бд, и можем снова пробовать подключиться к БД через кластер серверов 1С. И теперь должна база создаться. Можно еще накатить phppgadmin, чтобы смотреть через web-тырфейс за postgresql. Но это уже дело вкусов.

Комментариев нет:

Отправить комментарий