我想恢复转储的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
重新创建。