尽管LC_Messages设置为en_GB.UTF-8,但仍使用中文的Postgres消息

时间:2019-01-24 09:42:18

标签: postgresql locale psql

使用Windows PostgreSQL终端连接到相同的数据库,我们在2台不同的机器(一台中文,一台英文)中获得了不同语言的响应。我无法弄清楚这2台计算机的设置有什么不同来解决它。需要特别注意的是,几个问题(herehere)似乎表明LC_MESSAGES设置是需要更改的,除了两台机器都设置为en_GB.UTF-8。 / p>

机器1:

show LC_MESSAGES;

 lc_messages 
-------------
 en_GB.UTF-8
(1 row)

机器2:

show LC_MESSAGES;

lc_messages 
-------------
en_GB.UTF-8
(1 行记录)

确定返回来自Postgres的语言消息时显然还有其他事情,但是我一直无法弄清楚是什么。


更新:尽管Lauenz Albe的答案解释了为何到目前为止我一直尝试失败的原因,但我仍然找不到任何有关如何设置PSQL语言或如何解决它的文档或建议。< / p>

2 个答案:

答案 0 :(得分:1)

设置LANG环境变量,示例性批处理文件:

@echo off
set PGDATABASE=my_database
set PGUSER=my_user
set PGPASSWORD=my_password
set LANG=C
psql -f %1

答案 1 :(得分:0)

lc_messages确定来自服务器的消息的语言

您看到的(1 行记录)psql编写,并由psql的语言环境决定。

要更改此设置,您必须更改Windows会话的语言环境。不知道该怎么做。