拒绝数据库连接导致编码错误

时间:2012-06-21 10:58:58

标签: postgresql

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

任何人都可以向我解释为什么会发生这种情况以及如何阻止它?

1 个答案:

答案 0 :(得分:1)

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

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

  

这是一个众所周知的问题,我担心。 PostgreSQL postmaster登录   系统区域设置,PostgreSQL后端登录任何编码   他们的数据库都在。他们都写入同一个日志文件,生成一个   日志文件中充满了混合编码数据,这些数据会阻塞许多文本编辑器。

所以 - 我猜你的系统区域设置是8859-1(或者可能是-15),而pg-admin期望UTF-8。短期来说,您可以将系统编码设置为UTF-8,长期将错误报告丢弃到pgadmin团队 - 一条错误消息是有用的,之后它可能只是将十六进制代码放入文本或其他类似的内容。