Postgresql: установить кодировку psql клиента по умолчанию


11

Когда я подключаюсь к Postgresql DB psql, я часто получаю следующие сообщения:

=> SELECT * FROM question_view ;
ERROR:  character with byte sequence 0xd7 0x9e in encoding "UTF8" has no equivalent in encoding "LATIN1"

Следуя такому ответу , я понимаю, что мне следует соответствующим образом изменить кодировку клиента:

SET client_encoding = 'UTF8';

Изменять client_encodingкаждый раз, когда я подключаюсь к БД, громоздко. Есть ли способ для постоянной настройки этого параметра, либо в .pgpassфайле, либо где-либо еще?

Ответы:


13

Есть ли способ для постоянной настройки этого параметра, либо в файле .pgpass, либо где-либо еще

Да, есть: это ~/.psqlrc(или %APPDATA%\postgresql\psqlrc.confв Windows)

Подробности см. В руководстве: http://www.postgresql.org/docs/current/static/app-psql.html#AEN88713.


2
Добавление SET client_encoding = 'UTF8';к ~/.psqlrcпроделанной работе. Спасибо!
Адам Матан

Похоже, что это не работает при (повторном) подключении из psqlсеанса, например, после перезапуска сервера.
Адам Маклер

1
Мне пришлось создать этот файл в Windows, а затем установить пользовательскую среду var с именем PSQLRC, указывающую на этот каталог.
Жалоб
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.