今天想装个小站来玩玩,数据库是 postgresql,到创建数据库的时候出现如下错误
“ERROR: new encoding (UTF8) is incompatible with the encoding of the template”
网上查了下,大概说的是系统默认没有设置为 utf8 的话就会出现这个错误。
解决的方法也很简单,删了在从重新创建一个就好。
步骤如下:
1.首先,我们需要删除template1的。模板不能被删除,所以我们首先修改它,设置成一个普通的数据库:
登陆postgresql
[root@ root]# su - postgres;
-bash-4.1$ psql
postgres=# UPDATE pg_database SET datistemplate = FALSE WHERE datname = 'template1';
2.现在,我们可以删除它:
postgres=# DROP DATABASE template1;
3.然后,重新创建一个template1数据库,设置默认编码:
postgres=# CREATE DATABASE template1 WITH TEMPLATE = template0 ENCODING = 'UNICODE';
4.在把template1设置成为默认模板。
postgres=# UPDATE pg_database SET datistemplate = TRUE WHERE datname = 'template1';
5.最后切换模板就可以了
postgres=# \c template1
template1=# VACUUM FREEZE;
template1=# \q
到这里应该就可以了
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于