PostgreSQL客户端编码VS服务器端编码



我正在使用PostgreSQL 9.6。我将Oracle系统从Oracle迁移到PostgreSQL。保存在数据库中的数据保存在希伯来语中。因此,为了看到它,我需要将字符集从默认设置更改为ISO_8859_8。现在,我可以删除数据库,并创建一个具有不同编码的新数据库,也可以在客户端(PSQL)上设置不同的编码。我想了解性能的观点。

谢谢,Mariel。

如果您仅在客户端使用Latin-8,则可能最有效地将同一编码用于数据库,因为不需要转换。

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

如果应用程序使用或支持UTF-8,请在数据库中使用UTF-8。通常应该是默认值,因此,如果DB已经是UTF-8,请考虑以这种方式离开。

如果该应用仅支持ISO-8859-8,则您可能希望将DB限制为ISO-8859-8,以防止通过应用程序以外的其他内容插入数据,然后该应用程序将阻止应用程序读取数据。但这是不使用UTF-8的唯一原因。

效率并不是真正的问题,在实践中并没有太大的差异。在UTF-8上的情况可能会慢一些,但即使那样,也不多。

当您不关心词汇排序而只需要字节值分类时,在此要做的主要工作是使用COLLATE "C索引,操作员等。无论DB是ISO-8859-8,UTF-8还是其他任何东西,这都是有用的。

最新更新