Приветствую всех.
Исходные данные:
Стоит чистая Ubuntu 20.04 на VMare Workstation 17. Качаю с сайта releases.1c.ru платформу 8.3.23.1865 и PostgreSQL 15.3-1.1C. Ставлю платформу, сервер, запускаю, проверяю - работает. Ставлю необходимые пакеты и Postgre, задаю пароль пользователю postgres, запускаю, проверяю - работает. Пытаюсь создать клиент-серверную базу через 1С:Предприятие, сижу такой радуюсь, потираю руки и славливаю ошибку:
Ошибка при создании информационной базы:
Ошибка при выполнении операции с информационной базой
Ошибка СУБД:
0А000: ERROR: extension "mchar" is not available
DETAIL: Could not open extension control file "/usr/share/postgresql/15/extesion/mchar.control": No such file or directory.
HINT: The extension must first be installe on the system where PostgreSQL is running.
Я бы понял, если б скачал дистрибутив Postgres со стороннего сайта, но я ж качаю с сайта 1С, пропатченный и вроде как должно работать на раз два.
Ребята, всем спасибо за подсказки! Всё получилось. Итак, что же сделал:
*Установил 1с:Предприятие
*Поставил PostgreSQL качал, кстати с сайта релизы 1с: Дистрибутив СУБД PostgreSQL для Linux x86 (64-bit) одним архивом (DEB). Дополнительные модули не качал и не ставил.
*Зафиксировал пакеты (на всякий случай не только libpq5, но и другие, возможно перестарался):
apt-mark hold libpq5
apt-mark hold postgresql-15
apt-mark hold postgresql-client-15
apt-mark hold libicu60
apt-mark hold libreadline7
*Развернул клиент-серверную базу
*На этом всё
Если вы столкнулись с такой ошибкой, проверьте наличие модуля mchar в вашей базе данных – введите в консоли запрос, который выбирает все записи из таблицы pg_available_extensions, где имя равняется mchar.
Здесь показано, что PostgreSQL нашел имя этого модуля, его версию, но не вывел его установленную версию. Это как раз является результатом ошибки, потому что именно сам модуль в системе есть, но он не установлен.
Далее вы можете проверить, почему данный модуль не установился; почему он присутствует, но 1C его не видит...
Но конкретно в данном случае само приложение psql подключено к базе postgres, которая автоматически создается при создании инстанса, а конфигурацию 1С мы устанавливали в другую базу. Это тоже немаловажно учитывать и смотреть модули, которые мы пытаемся установить, в нужном месте.
(4) Предположу, что топикастер поставил постгрес от 1С, потом поставил PGAdmin через апт инсталл, после чего из-за зависимости libpq5 1C-овский постгрес сносится к чертовой бабушке и ставится ванильный.
https://infostart.ru/1c/articles/1051601/
Единственное, на что не обращают внимание товарищи с Постгрес.ПРО - это на то, что при попытке поставить тот же "pgadmin3" может внезапно оказаться так, что библиотека "libpq5" будет обновлена, что вызовет удаление постгреса к чертовой бабушке. Для того, чтобы пофиксить это, нужно запретить обновление данной библиотеки таким вот простым способом:
(7) Я ставлю 15.3-1.1С
Дистрибутив СУБД PostgreSQL для Linux x86 (64-bit) одним архивом (DEB)
Или потом ещё дополнительные модули ставить надо?
Может расскажете неопытному в двух словах, чем версии Postgre отличаются (11,12,13,14,15)? И какую лучше ставить, какая может постабильней работает?
Ребята, всем спасибо за подсказки! Всё получилось. Итак, что же сделал:
*Установил 1с:Предприятие
*Поставил PostgreSQL качал, кстати с сайта релизы 1с: Дистрибутив СУБД PostgreSQL для Linux x86 (64-bit) одним архивом (DEB). Дополнительные модули не качал и не ставил.
*Зафиксировал пакеты (на всякий случай не только libpq5, но и другие, возможно перестарался):
apt-mark hold libpq5
apt-mark hold postgresql-15
apt-mark hold postgresql-client-15
apt-mark hold libicu60
apt-mark hold libreadline7
*Развернул клиент-серверную базу
*На этом всё
Действительно, contrib(там где mchar и проч) сейчас идет в основном архиве, в доп.модулях - debug, devel, docs, работа с perl, pyton и tcl.
Тогда можно и не ставить..