gpt4 book ai didi

database - Postgres 数据库错误页眉无效

转载 作者:行者123 更新时间:2023-11-29 13:37:27 25 4
gpt4 key购买 nike

我正在使用 Django ORM 访问 PostgreSQL 数据库,在极少数情况下,Django 会抛出一个数据库错误,例如 django.db.utils.DatabaseError: invalid page header in block 299560 of relation base/83966/84778

我已经对此进行了研究,这似乎是由于数据库以某种方式损坏所致。这非常令人沮丧,因为我总是在重新启动时干净地关闭数据库,并且我可以在磁盘驱动器上运行的每项检查都表明磁盘本身没有任何问题。因此,我只能得出结论,PostgreSQL 实际上不符合 ACID,并且在极少数情况下会破坏我的数据。

我能找到的唯一修复方法是删除并重新创建我的数据库。显然,这并不是真正的解决方法,因为我丢失了所有数据。有没有其他方法可以解决这个问题,或者我应该切换到更可靠的数据库,如 MySQL?

我在 Ubuntu 10.04 上运行 Postgresql-8.4.8。

最佳答案

大多数情况下,您看到此信息要么是您的内存力差,要么是驱动器故障。 PostgreSQL 和 MySQL 之间的区别在于 PostgreSQL 看到它并按它应该的方式提示,而 MySQL 通常只是不停地继续运行。我认为当机器损坏数据存储时停止的数据库是更可靠的数据库,因为它让您提前知道您的系统存在问题。

顺便说一句,PostgreSQL 可以在紧急关机(将插头从机器背面拔出)中幸存下来,只要硬盘驱动器不在 fsync 上。

尝试 memtest86 看看你的内存是否正常,然后做类似的事情

sudo dd if=/dev/sdc1 of=/dev/null

查看是否有错误。您的 dmesg 或消息日志中有关于驱动器读写错误的任何信息吗?

关于database - Postgres 数据库错误页眉无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5899040/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com