这是我在运行postgres时收到的错误消息
服务器。我已经仔细搜索了试图寻找解决方案的互联网
还重新安装了postgres
所以我没有选择但是要问它
这里。
11:51:05 postgres.1 | LOG: database system was shut down at 2015-04-06 09:03:12 EDT
11:51:05 postgres.1 | LOG: invalid magic number 0000 in log segment 000000010000000000000040, offset 0
11:51:05 postgres.1 | LOG: invalid primary checkpoint record
11:51:05 postgres.1 | LOG: invalid magic number 0000 in log segment 000000010000000000000040, offset 0
11:51:05 postgres.1 | LOG: invalid secondary checkpoint record
11:51:05 postgres.1 | PANIC: could not locate a valid checkpoint record
11:51:05 postgres.1 | LOG: startup process (PID 898) was terminated by signal 6: Abort trap
11:51:05 postgres.1 | LOG: aborting startup due to startup process failure
11:51:05 postgres.1 | exited with code 1
答案 0 :(得分:1)
您的数据库文件已损坏;请参阅"Corruption" on the PostgreSQL wiki以获取建议和采取的第一步。
特别是,PostgreSQL在启动时读取的事务日志已损坏。您可能希望调查这是如何发生的 - 无论是狡猾的硬件还是假装保存最不可能的数据的磁盘。
如果您的数据库中没有您关心的数据(即您只是将其用于开发),最简单的方法是重置它。
找到主要的postgresql数据库目录(可能是/var/lib/postgresql/...
)。在其中,您将找到名为base
,global
,... pg_xlog
的目录。将主目录重命名为“something.OLD”或只删除其中的所有内容。 如果您删除了内容,您将永久地和不可挽回地销毁您的数据库及其内容,所以只有在您不关心的任何内容的情况下才能这样做。
然后运行sudo -u postgres initdb -D /path/to/main/dir
以重新创建数据库结构。然后,您将有一个新的空设置,可以重新开始。根据需要从备份还原数据库。
如果这听起来很复杂,只需找到主目录并将其删除,然后重新安装即可。安装应该为您重新构建结构。