pg数据库建数据库失败,提示"template1" being accessed by other users

从错误信息可以看出,模板数据库template1正在被其他用户访问,所以不能在创建数据库时以它为模版进行创建

Postgresql在用initdb创建数据库集群时会创建一个模板数据库template1,以后所有的数据库都将来源于模板数据库template1,其中也包括模板数据库template0,也就是说template1就是创建数据库的默认模板,但如果有进程正在链接的话,数据库将不能以该模版创建数据库,所以,可以用一下该语句查询是否有进程,如果select到是0行,则赶紧创建数据库。我不敢贸然杀掉进程,正式系统正在使用中,也不能重启服务器,只能这样了。

select pg_terminate_backend(pid) from pg_stat_activity where DATNAME = 'template1';

你可能感兴趣的:(pg数据库建数据库失败,提示"template1" being accessed by other users)