我对 postgreSQL 有疑问;无法恢复转储数据库

I have a problem with postgreSQL; Can't restore dumped databse

我想恢复一个转储的 psql 文件,但我一直 运行 进入这个错误

我运行在终端中的命令是:

psql -U postgres -f dumpall.sql

我运行进入的错误如下:

psql:dumpall.sql:96: ERROR:  database "template1" does not exist
psql:dumpall.sql:100: ERROR:  template database "template1" does not exist
psql:dumpall.sql:101: ERROR:  option "locale" not recognized
LINE 1: ...late1 WITH TEMPLATE = template0 ENCODING = 'UTF8' LOCALE = '...
                                                             ^
psql:dumpall.sql:104: ERROR:  database "template1" does not exist
psql:dumpall.sql:106: error: \connect: FATAL:  database "template1" does not exist

有人通过删除 template1 数据库破坏了 PostgreSQL 数据库集群。

如果template0仍然存在,您可以使用

重新创建它
CREATE DATABASE template1 TEMPLATE template0 IS_TEMPLATE TRUE;

如果不是,请删除整个集群并使用新的initdb重新创建它。