我错误地删除了postgres的template0和template1,现在无法创建数据库。我目前在OSX 10.11上运行postgres 9.5.3。我可以帮助恢复这两个模板;我已经尝试使用自制软件卸载/重新安装,但没有运气。
答案 0 :(得分:0)
您不能删除数据库模板0 - 不能使用任何合法方法。你可以做什么?现在,您的数据库集群已损坏,有两种可能性:
使用pg_dump
备份您当前的数据库。使用initdb
创建新的数据库群集。新数据库集群将具有正确的template0,template1
您可以尝试从任何现有数据库创建template1 - 您可以使用语句TEMPLATE
的子句CREATE DATABASE
:
postgres=# create database template1 template postgres; ERROR: database "template1" already exists postgres=# create database template0 template postgres; ERROR: database "template0" already exists
首选方法应该是首选方法,因为没人知道,群集中的内容是什么。