Имя: Пароль:
1C
 
Порядок сортировки не поддерживается базой данных
0 ДенисСмирнов
 
11.08.26
15:38
Добрый день

экспериментирую с линуксом и 1с, я пока ненастоящий сварщик

В общем, при создании кластера командой
./rac infobase create \
               --cluster="49ba443c-7f4b-4f77-89e8-1fffb93f94e9 " \
               --name="ib_name2" \
               --descr="ib_name" \
               --dbms=PostgreSQL \
               --db-server="localhost" \
               --db-name="db_name" \
               --locale="RU_ru" \
               --db-user="usr1cv8" \
               --db-pwd="usr1cv8" \
             --create-database \
               --license-distribution="true"

вылезает ошибка

Ошибка операции администрирования
Ошибка установки или изменения национальных настроек информационной базы
Порядок сортировки не поддерживается базой данных


локали везде где мог проверил, стоят ru_RU.UTF-8 UTF-8

БД взял тут wget https://repo.postgres.ru/1c/1c-18/keys/pgpro-repo-add.sh

Что я сделал не так? Причем сама база в кластере создается, но 1с при запуске выдает эту же ошибку
1 Fragster
 
гуру
11.08.26
16:38
2 Garykom
 
гуру
11.08.26
16:39
(0) "--locale="RU_ru" \" - удали
и PostgreSQL возьми с https://releases.1c.ru/total
3 Fragster
 
гуру
11.08.26
16:40
ну и точно проверил, что запущен postgrespro-1c а не ванильный постгрес из состава дистрибутива? вроде и из репозитория из (0) должно тоже работать
4 Garykom
 
гуру
11.08.26
16:42
(3) ванильный без патчей могут быть глюки
но да просто создание базы и подключение у меня работало
главное не умничать с лишними параметрами
5 ДенисСмирнов
 
11.08.26
16:46
(2) Error parsing option: locale пишет

Эту БД пиарит некий Антон Дорошкевич на ютубе, дескать хорошо для 1С подходит и даже сама под параметры железа настраиваится. Взял только поэтому, зря?
6 Fragster
 
гуру
11.08.26
16:48
(4) в ванильном как раз ошибка с типом (по крайней мере была х лет назад, когда я последний раз пробовал его использовать с 1с). а в (0) написано про добавление репо от постгреспро для 1с, но в составе дистра есть свой постгрес. и если ставить по имени пакета, то надо ставить не postgres, а postgrespro-1c, а ванильный удалить
7 ДенисСмирнов
 
11.08.26
16:54
(6) я ставил по инструкции в письме, которое пришло от посгреспро
apt-get install postgrespro-1c-18

других не ставил
8 Nedomolkov_
Ivan
 
11.08.26
21:19
(0) Смотри не на rac, а на саму базу:
psql -c "select datname, datcollate, datctype from pg_database"

Если у template1, а значит и у новой базы, стоит C или POSIX, то 1С её не примет, это ровно и есть "порядок сортировки не поддерживается". Обычно так выходит, когда пакет ставили при LANG=C: initdb сделал кластер с C-локалью, и дальше уже не важно, что в системе ru_RU.UTF-8.

Проверь locale -a, есть ли вообще ru_RU.utf8. Если нет, сначала locale-gen. Дальше либо initdb кластера заново с --locale=ru_RU.UTF-8, либо базу руками:
createdb -T template0 --lc-collate=ru_RU.UTF-8 --lc-ctype=ru_RU.UTF-8 db_name
и потом rac infobase create уже без --create-database и без --locale.

По самому ключу: 1С ждёт ru_RU, а не RU_ru, но он тут вторичен, база всё равно наследует локаль кластера.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший