2010-05-09 94 views

回答

5

如果您有充分的數據目錄舊的PostgreSQL系統(如果是同一版本,或者只在版本號不同),你可以嘗試把它在的地方您數據目錄在你的新的postgresql安裝。 (當然,在這之前停止postgres服務器)。

它基本上是使用相同的過程時upgrading PostgreSQL中,當沒有必要做的備份恢復。

編輯:正如在評論中指出,我認爲不僅相同(或幾乎相同)的版本,但相同的體系結構(32 - 64位,Linux的 - 視窗等)

+2

請注意,也有可能成爲同弓(32位或64位)和I * *想在同一平臺(Linux,Solaris和Windows中,等)。 – 2010-05-10 08:21:02

+1

thx)它的工作原理) – 2010-05-10 10:47:42

3

除了leonbloy的答案,你可以試試pg_migrator,特別是如果你需要從8.3升級到8.4(最終是9.0)。

2

在你的情況下,你有這些文件,但如果你沒有,也許,也許只有可能,你可以做一些與數據庫的日誌,你可以嘗試查看數據庫中的語句日誌通常在/var/log/postgresql/postgresql.log,如果它在那裏或靠近它,並且之前設置了log_statements ='mod'或'all',則可以恢復一些數據。

由表表,通過在所有或近期數據庫的歷史的這個表由插入搜索到。你可以使用一些Unix工具來剪切文本來獲得只有這些語句,並將「;」在每個語句結束時,以及另一個重要的查詢,如刪除等。

但是,您必須按表格執行此操作,並且數據必須存在,並且數據庫在沒有備份的情況下運行時間不會太長。

在某些情況下,你只需要最後一個操作或類似這樣的東西保存一天。

這,然而,它只是爲阿波羅13個災難的時刻,永遠不能代替良好的備份。

相關問題