postgresql+postgis字符集问题
继续遇到新的问题: 研发反应,无法创建基于Utf8的数据库。 研究了一下,原来是因为Initdb过程中,没有手工指定locale参数,结果命令就自动从env中提取了zh作为默认的locale参数,与之相关的有lc_ctype和lc_collate两项参数等于zh。这样的情况下,数据库为了避免编码匹配带来的问题,就不允许创建基于utf8的数据库了,只能创建基于euc_cn的数据库。 因为是空的数据库集群,就删除了创建的da 再次重新创建da 总结: initdb -D /path/to/da create -E utf8 databasename 数据库集群中,模板非常重要,每次创建一个库,都要copy模板中众多的参数过去,所以创建模板要注意。基于postgis的模板也是同样的道理。 另外,还有两个参数lc_message='C'和lc_monetary='C',也是可以在initdb过程中手工设置的,若不写,则缺省提取env的值。不过这两个参数可以后期修改/data/postgres.conf文件,后重启数据库集群,来调整。暂时不明白有什么深刻的影响。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |