最近我在我的linux機器上發生了硬件故障,並修復硬件問題並將我的linux機器恢復後,當我執行查詢我的表,下面的錯誤返回。PostgreSQL無法打開文件「base/xxxx/xxxxx」沒有這樣的文件或目錄
ERROR: could not open file "base/17085/281016": No such file or directory.
在postgresql/base/17085目錄中選中時,文件281016不存在。
如果我使用下面的命令手動創建文件,問題就解決了嗎?還是在未來造成更多麻煩的壞方法?
#touch 281016
#chown postgres:postgres 281016
#chmod 600 281016
感謝您的回答理查德:) 這是我的測試系統,這裏沒有太多的數據,並同意你從備份恢復將是最好的選擇。 只是想知道如果我們可以手動創建丟失的文件,如果出現這樣的問題,可以影響這樣的程序? –
您可以創建一個空文件,但是您的數據庫已損壞。有時,用零填充損壞的磁盤塊或者同樣擴展文件會很有用。然後,您可以傾倒在受損部位周圍儘可能地恢復。如果不值得花費很多努力,那麼最好從上次備份中恢復並註銷任何更新。 –