作者:阎书利
最近,在验证不同字符集数据类型存储数据位数的时候发现:
PG12不支持server_encoding=GBK。以及MOGDB/openGauss 2.0.1 build d97c0e8a 虽然支持server_encoding=GBK,但是仍旧存在问题。
开始的时候是想验证一下PostgreSQL里不同字符集 varchar varying(5)是不是都能存五个汉字,因此进行了如下测试,
UTF-8字符集时候varchar不加括号的话可插入的值就是变长的
在测试GBK字符集的时候,发现PostgreSQL是不支持server_encoding=GBK的,如下是PG12的官方文档
然后想到了MOGDB/openGauss这边,虽然MOGDB/openGauss据说是基于PG九点几为基础研发的,但平时使用的时候就发现了他在一些方面做了优化,弥补了PG本身的不足,又进行了如下的测试,
发现虽然说opengauss支持server-encoding=GBK,但是汉字的好像不太行。然后去翻了翻源码,发现在一块的注释上写着这么一段话,所以说openGauss数据库在将GBK更改为数据库编码时,并没有真正考虑需要更改的代码的每个方面,所以这块依旧存在着问题,不知道之后的版本是否会进行优化。