====== Encoding ====== [[https://www.sinyawskiy.ru/invalid_locale.html?ysclid=lr4m0lgru7516717108]] - Ошибка PostgreSQL - invalid locale name При создании базы данных в кластере PostgreSQL в linux возникает ошибка ERROR: invalid locale name: "ru_RU.UTF-8" __**Установка новых локалей**__ 1.Необходимо проверить установленные локали > # locale -a en_AU.utf8 ... POSIX 2.Сгенерировать новую локаль ru_RU.UTF-8 > # locale-gen ru_RU.UTF-8 Generating locales (this might take a while)... ru_RU.UTF-8... done Generation complete. 3.Сконфигурировать локаль > # dpkg-reconfigure locales 4.Посмотреть установленные локали # C C.UTF-8 en_AU.utf8 ... POSIX ru_RU.utf8 ... __**Пересоздать кластер с учётом локали**__ 5.Посмотреть версию кластера ># pg_lsclusters Ver Cluster Port Status Owner Data directory Log file 9.5 main 5432 online postgres /var/lib/postgresql/9.5/main /var/log/postgresql/postgresql-9.5-main.log Здесь версия 9.5 название main 6.Удалить кластер ># pg_dropcluster --stop 9.5 main Redirecting stop request to systemctl 7.Создать новый кластер ># pg_createcluster --locale ru_RU.utf8 --start 9.5 main Creating new cluster 9.5/main ... config /etc/postgresql/9.5/main data /var/lib/postgresql/9.5/main locale ru_RU.utf8 socket /var/run/postgresql port 5432 Redirecting start request to systemctl 8.Cозлать таблицу заново используя следующий SQL запрос.\\ Важно! Необходимо чтобы название локали соответствовало ru_RU.utf8 (ru_RU.UTF-8 не сработает) > # su postgres postgres> psql CREATE DATABASE WITH OWNER = ENCODING = 'UTF8' TABLESPACE = pg_default LC_COLLATE = 'ru_RU.utf8' LC_CTYPE = 'ru_RU.utf8' CONNECTION LIMIT = -1;