我正在使用Django ORM訪問PostgreSQL數據庫,並且在罕見的事件中,Django將拋出DatabaseError,如django.db.utils.DatabaseError: invalid page header in block 299560 of relation base/83966/84778
。Postgres數據庫錯誤無效頁頭
我研究過這個,看起來是因爲數據庫被破壞了。這非常令人沮喪,因爲我總是在重新引導時徹底關閉數據庫,並且我可以在磁盤驅動器上運行的每個檢查都表明磁盤本身沒有任何問題。因此,我只能斷定PostgreSQL實際上並不符合ACID標準,並且在極少數情況下會破壞我的數據。
我已經能夠找到的唯一修復方法是刪除並重新創建我的數據庫。顯然,這不是一個真正的解決辦法,因爲我正在丟失所有的數據。有沒有其他解決方法,或者我應該切換到更可靠的數據庫,如MySQL?
我在Ubuntu 10.04上運行Postgresql-8.4.8。
順便說一句,曾經去過.org或.info網站?猜猜哪個數據庫服務於您的DNS解析請求? PostgreSQL是堅實的24/7分貝,但它不能在不可靠的硬件上可靠地運行。這臺機器在測試中燒了多少? – 2011-05-06 17:14:09