ERROR: new encoding (UTF8) is incompatible xxx

KingBase V8R3服务端docker镜像版本创建数据库utf8编码格式报错:ERROR: new encoding (UTF8) is incompatible

 

解决步骤

1.首先,我们需要删除template1的。模板不能被删除,所以我们首先修改它,设置成一个普通的数据库:
登陆kingbase

TEST=# ksql -USYSTEM -W123456 TEST
TEST=# UPDATE sys_database SET datistemplate = FALSE WHERE datname = 'template1';

2.现在,我们可以删除它:
TEST=# DROP DATABASE template1;

3.然后,重新创建一个template1数据库,设置默认编码:
TEST=# CREATE DATABASE template1 WITH TEMPLATE = template0 ENCODING = 'UNICODE';

4.再把template1设置成为默认模板。
TEST=# UPDATE sys_database SET datistemplate = TRUE WHERE datname = 'template1';

5.最后切换模板就可以了
TEST=# \c template1
template1=# VACUUM FREEZE;
template1=# \q

 

 

参考文档:

https://www.kingbase.com.cn/zhuanti/kes/html/dba-guide.html#CONFIG-SETTING-CONFIGURATION-FILE

https://hacpai.com/article/1478711156804

posted @ 2020-08-28 19:15  MegaloBox  阅读(580)  评论(0编辑  收藏  举报