在 Oracle 上,我设置了:
export NLS_LANG=Italian_ITALY.UTF8
.. 在 Unix shell 上,现在我得到意大利语的状态和错误消息。
如何在 Postgres shell (psql) 中设置?我已经设定:
SET lc_messages TO 'it_IT.UTF-8';
但这都是英文的:
prova
video-# ;
ERROR: syntax error at or near "prova"
LINE 1: prova
^
video=# select count(*) from generale ;
count
-------
2170
(1 row)
首先,这是来自 PostgreSQL 的错误消息,它与psql(命令行客户端)不同。该
SET
命令设置 Postgres 服务器的运行时参数,它完全独立于客户端(本例中为 psql)。不管怎样,它对我有用。在设置为德语区域设置 ( )的 Windows 客户端上测试Postgres 9.4.1 的标准分发:
German_Germany.1252
这同样适用于 Debian 机器(相应的语言环境可用!)。而且我可以从任何其他客户端(如 pgAdmin)复制相同的内容。
也许您没有在同一个会话中运行这两个命令?无论哪种方式,Postgres 都使用底层操作系统的语言环境支持。根据文档:
--enable-nls
并且必须在编译时启用自然语言支持 ( ),这是默认设置,并且是标准发行版的情况。手册中的详细信息在这里。您正在运行非标准版本吗?也许是自己编译的?
恐怕这是不可能的-至少根据文档
在这里查看。
安装时必须配置数据库。你的机器是意大利的,还是用英文配置的?我必须说我对此感到惊讶——我认为 PostgreSQL 比这更灵活。