欢迎访问分类目录网
快审联系QQ:158925126当前位置:分类目录网 » 站长资讯 » 技术教程 » 文章详细 订阅RssFeed

postgresql 创建数据库 ERROR: new encoding (UTF8) is incompatible

来源:本站原创 浏览:1442次 时间:2018-09-03

想装个小说站来玩玩,结果数据库是 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
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

到这里应该就可以了



作者:fly
链接:https://hacpai.com/article/1478711156804
来源:黑客派
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

公司企业大全

推荐站点