Restore

如何從損壞的 /base/ 目錄中恢復數據?

  • May 31, 2018

除了給定的連結 /var/lib/postgresql/9.5/main/base/18686等之外,我錯誤地刪除了所有目錄。

我有 4 個這樣的目錄,現在我想從這些文件夾中取回數據,因為它們非常重要。

我正在使用 ubuntu 16.04。

你能幫助我們嗎?

好像你已經刪除了像這樣的文件夾

pg_xlog
pg_tblspc
pg_serial

只有基本目錄:/var/lib/postgresql/9.5/main/base/18686

您無法恢復數據。

您可以參考文件

如果您有一個從中恢復的轉儲文件,則可能是唯一的解決方案。

在 google 上快速搜尋顯示可能不存在低級 postgresql 表恢復工具。

所以你必須實現你自己的。

上次我檢查過,postgresql 有“經典”的 SQL 低級表佈局格式:

  • 表文件按塊排序(8192 字節)
  • 每個塊都來自一個塊頭和一組行,從塊內的任何位置開始
  • 這些行包含您的低級六進制數據。

如果您還記得您的表格格式,那麼實現一個工具(通常是用 C 語言)來創建至少部分恢復並不是很難,但可能需要幾天的工作才能獲得可用的結果。

始終備份。

引用自:https://dba.stackexchange.com/questions/208318