Изменить язык системы и сообщений об ошибках в PostgreSQL
Можно ли изменить язык системных сообщений из PostgreSQL?
Например, в MSSQL это возможно с помощью оператора SQL УСТАНОВИТЬ ЯЗЫК.
4 ответы
Подробнее о требованиях и ограничениях здесь.
ответ дан 10 окт ’08, 20:10
К сожалению, это не имеет никакого эффекта, если сервер базы данных установлен в Windows. — Бенно Рихтерс
Согласно этому отчету об ошибке — archives.postgresql.org/pgsql-bugs/2008-05/msg00134.php, ты прав. Вы пытались изменить настройку lc_messages прямо в postgresql.conf и перезапустить? — Милен А. Радев
Теперь, после прочтения упомянутой ветки в архивах, кажется, что единственный способ изменить язык системных сообщений — это изменить локаль ОС. — Милен А. Радев
Похоже, что исправили. Команда теперь работает в Windows (Server 2008 R2, PostgreSQL 9.0.3) — Dirkb
Похоже, это не делает меня постоянным в PostgreSQL 9.4, мне пришлось изменить этот параметр в postgresql.conf — БруноJCM
Ответ Милен мне не подошел.
Я заставил это работать, изменив файл postgresql.conf . Если вы работаете в Linux, напишите:
У меня был мой в /var/lib/pgsql/data . Затем отредактируйте файл и найдите переменную lc_messages и измените его на предпочитаемый вами язык, например ‘en_US.UTF-8’ .
Если PostgreSQL перестает работать, и вы проверяете в его журнале, что у вас есть ошибка, которая выглядит следующим образом:
Вы должны отредактировать /etc/locale.gen и раскомментируйте строку с кодировкой из сообщения об ошибке (например, en_US.UTF-8 ). Тогда тебе нужно бежать locale-gen (как root), чтобы обновить локали. Наконец, чтобы проверить, установлен ли языковой стандарт, вы можете запустить locale -a .
Или, если вы хотите, чтобы язык был английский, вы можете просто установить lc_messages = ‘C’ .
Мой был в /etc/postgresql/9.5/main/postgresql.conf на Ubuntu 14.04 с postgresql, установленным из официального PostgreSQL PPA. Оставив это здесь для других. — ЛеоРокаэль
On windows например C:\Program Files\PostgreSQL\9.5\data — Бить
Для меня ни ответ Милен А. Радева, ни ответ user1 не сработали — редактирование PostgreSQL\11\data\postgresql.conf абсолютно никакого эффекта. Даже после установки lc_messages = ‘random value’ PostgreSQL все равно запустится.
Помогло удаление PostgreSQL\11\share\locale\*\LC_MESSAGES , после этого я наконец получил сообщения на английском языке.
Это мне помогло. Я удалил папку Entrie LC_MESSAGES и получил сообщения на английском языке. — Пхо
PGSQL 11 / Win 10 x64, мне пришлось перезагрузить конфигурацию сервера, и тогда все заработало. Спасибо — Benj
Мне пришлось переименовать папку locale в locale_ и перезапустить postgres, потом все заработало, спасибо. Больше у меня ничего не работало. — Либстер Камерад
В моем случае (на Windows Server 2019) мне удалось изменить язык, создав переменную системной среды «LC_MESSAGES» со значением «English»:
Как установить utf8 локаль для postgresql?
UnicodeEncodeError: ‘latin-1’ codec can’t encode characters in position 0-6: ordinal not in range(256)
Когда пытаюсь создать бд в локалью utf8 выдает:
vagrant=# CREATE DATABASE rev ENCODING=’UTF8′;
ERROR: encoding UTF8 does not match locale en_US
DETAIL: The chosen LC_CTYPE setting requires encoding LATIN1.
В изначально английскую убунту я поставил ru_RU локаль, но все попытки переназначить локаль для postgres не привели к успеху.
- Вопрос задан более трёх лет назад
- 58002 просмотра
Средний 1 комментарий
- Вконтакте
Сейчас это делается проще без пересоздания кластера. Инициализируем по умолчанию
#postgresql-setup initdb
Заходим
su -u postgres psql
Выполняем
postgres-# initdb —E=UTF-8 —gpdata=/var/lib/pgsql/data
Получаем
Сам долго с этим боролся.
Включаешь консоль
Удаляем старый кластер базы данных
pg_dropcluster —stop 9.1(версия кластера) main(имя кластера, получить можно pg_lsclusters)
изменить язык интерфейса при использовании postgresql psql.exe
У меня есть база данных PostgreSQL 8.4, установленная с японским языком в качестве основного. Я подключаюсь с английского клиента Windows 7, используя psql.exe. Можно ли как-нибудь изменить интерфейс сообщений, отображаемых мне (например, справку, заголовки столбцов из команды \l и т.д.), На английский?
Я знаю, что могу установить кодировку символов с помощью \encoding, но я действительно хочу изменить язык интерфейса с ja_JP на en_US (или аналогичный).
How to specify a different locale for postgreSQL installation?
My system’s locale is en_US.UTF-8. Because of that, the postgreSQL installation uses this locale by default for the cluster during installation.
But I want my postgreSQL server to install with locale pt_BR.UTF-8. Is it possible?
2 Answers 2
I just found a solution for this problem! Here it is..
1- Stop and drop your current cluster:
2- Create a new cluster with the correct locale:
3- Confirm it worked as expected:
Simply install it using below commands :
and then change the datastorage location :
eg : vi /etc/postgresql/8.4/main/postgresql.conf
Search for «data_directory» and provide your new datapath, now save the file and restart the postgresSQL service to reflect this new change.
Considered : your new path is /Database/Storage
Make sure, datapath is accessible only by postgres user — command to do that.