与众不同的是模板数据库的编码。在生产服务器上,它们具有ascii编码,而在开发箱上,它们是utf-8。
默认情况下,postgres使用template1创建一个数据库。我的理解是,如果其编码不是utf-8,则即使您使用utf-8编码创建数据库,您创建的数据库也会出现此问题。
因此,我删除了它,然后将其编码设置为UTF8来重新创建它。下面的代码片段可以做到这一点:
psql -U postgres UPDATE pg_database SET datallowconn = TRUE where datname = 'template0';c template0UPDATE pg_database SET datistemplate = FALSE where datname = 'template1';drop database template1;create database template1 with template = template0 encoding = 'UNICODE';UPDATE pg_database SET datistemplate = TRUE where datname = 'template1';c template1UPDATE pg_database SET datallowconn = FALSE where datname = 'template0';
现在,夹具可以顺利加载。



