POSTGRESQL客户端编码与服务器端编码

时间:2017-09-03 08:48:36

标签: postgresql performance encoding character-encoding

我正在使用postgresql 9.6。我将oracle系统从oracle迁移到postgresql。保存在数据库中的数据以希伯来语保存。因此,为了看到它,我需要将字符集从默认值更改为ISO_8859_8。现在我可以删除数据库并创建一个具有不同编码的新数据库,我也可以在客户端设置不同的编码(psql)。我想了解在表现方面哪些更好。

谢谢,Mariel。

2 个答案:

答案 0 :(得分:2)

如果你只在客户端使用Latin-8,那么对数据库使用相同的编码可能是最有效的,因为不需要转换。

如果您也有可能需要存储其他字符,请使用UTF-8。

答案 1 :(得分:1)

如果应用使用或支持UTF-8,请在数据库中使用UTF-8。这通常应该是默认值,因此如果数据库已经是UTF-8,请考虑将其保留为那样。

如果应用程序仅支持ISO-8859-8,您可能希望将数据库限制为ISO-8859-8,以防止应用程序以外的其他内容插入数据,从而阻止应用程序读取数据。但这是关于不使用utf-8的唯一原因。

效率并不是一个真正的问题,它在实践中并没有太大的作用。在utf-8上排序可能会慢一点,但即便如此,也不多。

当你不关心词法排序而你只想要字节值排序时,主要做的是使用{{1}}索引,运算符等。无论数据库是ISO-8859-8,UTF-8还是其他任何内容,这都很有用。