Postgresql 错误:无法在索引中重新找到父键

Has*_*aig 4 postgresql index postgresql-9.3

我有一个带有 postgresql 9.3 DB(托管在 Ubuntu VM 上)的 Django 应用程序,最近该 VM 磁盘空间不足(导致no space left on device我的日志中出现错误)。

我清除了设备上的空间,一切都恢复了在线。

但是现在,对于我的少数请求,我已经开始收到django.db.utils:DatabaseError带有描述的警报failed to re-find parent key in index "links_grouptraffic_time" for split pages 24582/24583links_grouptraffic是我的数据模型之一,并且time是该数据模型中的一个属性。

有人可以解释一下这意味着什么的背景,以及解决这个问题的方法吗?提前致谢!


Eze*_*nay 6

您的数据库可能已损坏,尤其是索引。您可以通过以下方式重建所有索引并检查数据库上的所有表:

REINDEX SYSTEM; -- run once
REINDEX DATABASE <your dbname>; -- run for each database
VACUUM (FULL VERBOSE ANALYZE); -- also run for each database after reindexing
Run Code Online (Sandbox Code Playgroud)