这是我在运行 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
最佳答案
您的数据库文件已损坏;见"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
重新创建数据库结构。然后您将拥有一个新的空设置并可以重新开始。根据需要从备份中恢复数据库。
如果这听起来很复杂,只需找到主目录并将其删除,然后重新安装。安装应该会为您重新创建结构。
关于postgresql - Postgres 错误无效魔数(Magic Number) 0000,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29496020/