在PostgreSQL中更改系统语言和错误消息

Ben*_*ers 32 postgresql

是否可以从PostgreSQL更改系统消息的语言?

例如,在MSSQL中,可以使用SQL语句SET LANGUAGE.

Mil*_*dev 34

SET lc_messages TO 'en_US.UTF-8';
Run Code Online (Sandbox Code Playgroud)

这里有关于要求和限制的更多信息.

  • 不幸的是,在Windows上安装数据库服务器时,这似乎没有任何影响. (4认同)
  • 根据这个错误报告 - http://archives.postgresql.org/pgsql-bugs/2008-05/msg00134.php,你是对的.您是否尝试直接在postgresql.conf中更改"lc_messages"设置并重新启动? (4认同)
  • 它似乎并没有让我对PostgreSQL 9.4永久保留,我不得不在postgresql.conf中更改此设置 (3认同)
  • 似乎已经修复。命令现在可以在 Windows 上运行(Server 2008 R2、PostgreSQL 9.0.3) (2认同)

use*_*er1 14

Milen的回答对我不起作用.

我通过修改文件来实现它postgresql.conf.如果您使用的是Linux,请写:

sudo find / -iname postgresql.conf
Run Code Online (Sandbox Code Playgroud)

我有我的/var/lib/pgsql/data.然后编辑该文件并搜索变量lc_messages并将其更改为您的首选语言,例如'en_US.UTF-8'.

如果PostgreSQL停止工作,你在其日志中检查你有一个如下所示的错误:

invalid value for parameter "lc_messages": "en_US.UTF-8"
Run Code Online (Sandbox Code Playgroud)

您必须编辑/etc/locale.gen和取消注释错误消息中的编码行(例如en_US.UTF-8).然后你必须运行locale-gen(以root身份)来更新语言环境.最后,要检查是否设置了区域设置,您可以运行locale -a.

或者,如果您希望语言为英语,则可以设置lc_messages = 'C'.

  • 在`windows`上,例如`C:\ Program Files\PostgreSQL\9.5\data` (4认同)
  • 我的在 Ubuntu 14.04 上的 `/etc/postgresql/9.5/main/postgresql.conf` 中,postgresql 从官方 PostgreSQL PPA 安装。把它留在这里是为了他人的利益。 (3认同)

And*_*eKR 12

对我来说,Milen A. Radev 和 user1 的回答PostgreSQL\11\data\postgresql.conf都没有奏效——编辑绝对没有效果。即使在设置后lc_messages = 'random value'PostgreSQL 仍然会启动。

有帮助的是删除PostgreSQL\11\share\locale\*\LC_MESSAGES,之后我终于收到了英文信息。

  • 这对我有帮助。我删除了 LC_MESSAGES 文件夹条目,然后收到了英文消息。 (3认同)
  • PGSQL 11 / Win 10 x64,我必须重新加载服务器配置,然后它才能工作。谢谢 (2认同)
  • 只需删除或重命名“locale”文件夹,它就像一个魅力! (2认同)

Bir*_*idt 5

就我而言(在 Windows Server 2019 上),我设法通过创建一个值为“English”的系统环境变量“LC_MESSAGES”来更改语言:

setx LC_MESSAGES English /m
Run Code Online (Sandbox Code Playgroud)

(从这里采取的解决方案)

  • 我首先尝试了这个解决方案,因为它快速且易于验证。我可以说它有效,我不需要尝试其他解决方案。我正在使用 Windows 10。 (2认同)