0

我有一个带有一些数据库的 postgreSQL 服务器。每个用户只能连接到某些数据库。到现在为止还挺好。我想测试是否一切正常,所以我使用 pgAdmin III 以受限用户身份登录。当我尝试连接到用户没有连接权限的数据库时,日志文件似乎发生了一些事情!服务器状态窗口不再可以读取它。我得到的只是很多关于编码 utf8 的无效字节序列的消息。停止这些消息窗口的唯一方法是终止程序并强制 postgre 创建一个新的日志文件。

谁能向我解释为什么会发生这种情况以及我该如何阻止它???

4

1 回答 1

1

好的,我认为问题是“für”中的“ü”。错误消息似乎在抱怨字符代码 0xfc,它在latin1(和类似的)中是带有变音符号的小写 u。

通过数据库连接发回的消息应转换为客户端编码。但是,日志文件包含来自各种来源的输出,据此最近(2012 年)存在问题:

恐怕这是一个已知问题。PostgreSQL postmaster 在系统语言环境中记录,而 PostgreSQL 后端则以任何编码记录他们的数据库。它们都写入同一个日志文件,产生一个充满混合编码数据的日志文件,这会让许多文本编辑器窒息。

所以 - 我猜你的系统语言环境是 8859-1(或者可能是 -15),而 pg-admin 期待 UTF-8。短期而言,您可以将系统编码设置为 UTF-8,长期将错误报告提交给 pgadmin 团队 - 一条错误消息很有帮助,之后它可能应该只是将十六进制代码放在文本中或类似的地方。

于 2012-06-21T12:25:27.373 回答