Оставляю системную локаль en_US.UTF-8, чтобы логи проще читать было, а ru_RU.UTF-8 только при создании кластера БД указываю. # locale LANG=en_US.UTF-8 ... # /etc/rc.d/init.d/postgresql initdb --locale=ru_RU.UTF-8 | grep -E или # LANG=ru_RU.UTF-8 /etc/rc.d/init.d/postgresql initdb | grep -E "(locale|encoding|search)" РЕЗУЛЬТАТ: The database cluster will be initialized with locale "en_US.UTF-8". The default database encoding has accordingly been set to "UTF8". The default text search configuration will be set to "english". ОЖИДАЕТСЯ: ... "ru_RU.UTF-8". ... "UTF8". ... "russian". ПРИЧИНА: в /etc/rc.d/init.d/postgresql алгоритмом не заложена возможность указания локали для инициализации кластера БД: 118 locale_list="$(su -l postgres -s /bin/sh -c '/usr/bin/locale')" 119 locale="$(echo $locale_list | tr ' ' '\n' | grep LANG | cut -d '=' -f2 )" 120 echo "Creating default database:" 121 su -s /bin/sh -l postgres -c "initdb --pgdata=\"$PGDATA\" --locale=\"$locale\" " КОСТЫЛЬ ДЛЯ ОБХОДА ОГРАНИЧЕНИЯ: Создать /var/lib/pgsql/.profile со строками: LANG=ru_RU.UTF-8 export LANG Но тогда и выхлоп скрипта будет на русском, а этого не хочется. Желательна возможность явно задать локаль с которой нужно инициализировать кластер, а если её явно не указали тогда пусть получает LANG у postgres. Аналогичная ситуация в: postgresql14-1C-server postgresql13-server postgresql12-server postgresql11-server postgresql10-server postgresql9.6-server PS: и у PostgresPro в сборках для 1С так же.
postgresql15-1C-15.2-alt2 -> sisyphus: Fri Mar 03 2023 Alexei Takaseev <taf@altlinux> 15.2-alt2 - Cleanup postgresql.service (ALT #44917) - Set database locale different from system (ALT #43207) - Add /etc/sysconfig/postgresql with staring and initializating environment - Initialization databases with secure connection methods - Mandatory set password for superuser postgres