для параметра "lc_messages": "en_US.UTF-8"
Говорят проблема в локали. Действительно отсутствовала en_US.utf8
Добавил. Текущий вывод locale -a, такой:
C
C.utf8
en_US.utf8
POSIX
ru_RU.cp1251
ru_RU.utf8
locale:
LANG=ru_RU.UTF-8
LANGUAGE=
LC_CTYPE="ru_RU.UTF-8"
LC_NUMERIC="ru_RU.UTF-8"
LC_TIME="ru_RU.UTF-8"
LC_COLLATE="ru_RU.UTF-8"
LC_MONETARY="ru_RU.UTF-8"
LC_MESSAGES="ru_RU.UTF-8"
LC_PAPER="ru_RU.UTF-8"
LC_NAME="ru_RU.UTF-8"
LC_ADDRESS="ru_RU.UTF-8"
LC_TELEPHONE="ru_RU.UTF-8"
LC_MEASUREMENT="ru_RU.UTF-8"
LC_IDENTIFICATION="ru_RU.UTF-8"
LC_ALL=
Ошибки всё так же сыпятся в лог. Подскажите пожалуйста. Возможно нужно перезагрузить postgresql или cлужбу 1С?
Насколько критична ошибка?
1) Да, нужно. 2) lc_messages — это некритично чаще всего (хотя кое-где обработка ошыбок можэт стать странной).
en_US.utf8 не нужен: # locale -a C C.UTF-8 POSIX ru_RU.utf8 # locale LANG=ru_RU.UTF-8 LANGUAGE= LC_CTYPE="ru_RU.UTF-8" LC_NUMERIC="ru_RU.UTF-8" LC_TIME="ru_RU.UTF-8" LC_COLLATE="ru_RU.UTF-8" LC_MONETARY="ru_RU.UTF-8" LC_MESSAGES="ru_RU.UTF-8" LC_PAPER="ru_RU.UTF-8" LC_NAME="ru_RU.UTF-8" LC_ADDRESS="ru_RU.UTF-8" LC_TELEPHONE="ru_RU.UTF-8" LC_MEASUREMENT="ru_RU.UTF-8" LC_IDENTIFICATION="ru_RU.UTF-8" LC_ALL=
Нет справки под рукой - скорее всего, достаточно сделать reload. И в конфиг вместо en_us лучше C
C.UTF-8 имеете ввиду? reload PG делал. Ошибки все равно сыпет. Видимо нужен рестарт службы. Или добавление ru_RU.utf8 эффекта не дало. Возможно постгрес при старте службы читает доступные в системе локали.
В справке, да и в комментах конфига указано, какие параметры требуют рестарта
C.UTF8 — это нонсенс.
Почему нет :-) может не хочет человек писать en_US.UTF8?)
Потому, что C — это независимая от системы общеизвестная однобайтовая локаль под us-ASCII. Она не можэт быть, по смыслу, ни под какие другие кодировки, особенно под UTF8. PS И да, назвать локаль можно как угодно, хоть и так. От этого это название не перестаёт быть нонсенсом.
Это я понимаю, хотя все немного сложнее. Но название c.utf8 канонично для POSIX
В итоге нужно было рестартануть постгрес после добавления локали en_US.UTF-8
Для истории, если кто то тоже столкнется: (Актуально для Ubuntu 22.04 LTS) 1) dpkg-reconfigure locales Выбираем из списка en_US.UTF-8, переходим далее, основную локаль оставляем без изменений 2) Проверяем добавилась ли локаль: locale -a 3) Рестартуем Postgresql (предварительно потушив службу 1С): systemctl restart postgresql Проверяем лог на появление ошибки: tail -f /var/log/postgresql/postgresql-15-main.log | grep lc_
Уточняю. Если только что добавили системную локаль и хотите её использовать - надо перелогиниться/рестартовать; дефолт-локаль для баз указывается при инициализации кластера и должна быть в системе и потом другую локаль можно задать вручную при создании базы; для смены уже имеющейся локали вывода достаточно релоада.
Обсуждают сегодня