Windows客户端程序拒绝与linux postgresql数据库合作

时间:2018-01-21 18:30:01

标签: linux windows postgresql collation

我在MS-Windows 7 Cz上运行PostgreSQL数据库引擎。与此pgsql数据库通信的客户端程序也运行MS-Windows 7 Cz。该程序安装有美国英语语言变异。 在此默认配置中一切顺利。但我想将Windows客户端程序与在Linux上运行的PostgreSQL数据库配对。 第一次尝试失败,但双方都没有记录合理的信息。 我对Linux数据库进行了一些比较。 crated分数与MS-Windows db相比。我只发现了COLLATION设置的不同之处。在Linux数据库上。默认值为“cs_CZ.UTF-8”,但在MS-W db上。有“Czech_Czech Republic.1250”。

我真的不知道COLLATION的用途是什么,因为在dbs中的两个操作系统上。默认的内部编码是utf-8。这是否意味着MS-W客户端与db通信。使用cp1250,而Linux db。期待utf8? (COLLATIN的每个解释都说明了区域设置字母顺序?) 无法更改客户端行为,但由于稳定性和其他数据库参数,迁移到Linux服务器平台非常重要。

有人可以给我一些有用的指导,如何准备Linux PostgreSQL数据库应该被MS-Windows客户端程序接受吗?计划支持团队没有(不能或不可能)帮助我进行为期两个月的讨论。

提前致谢

1 个答案:

答案 0 :(得分:0)

是的,最后非常简单:MS-Windows配置与Linux配置之间的关键区别是Authentication conf模块:pg_hba.conf!在Linux中,默认情况下,其内容更适合开发人员进行locahost连接:

host    all     all   127.0.0.1/32  trust

但是在MS-Windows中,连接规则非常严格:

host    all     all   127.0.0.1/32  md5
host    all     all      0.0.0.0/0  md5

客户端程序没有可能更改其行为的配置文件。

使用Wire-Shark进行的许多轮询都注意到了这种简单的区别。