如果從postgres 8.x升級到9.x並運行帶有--link選項的pg_upgrade ,我「降級」回到8.x(意思是,我關閉了pg-9守護進程並啓動了pg-8守護進程)?重複PostgreSQL 8.x-9.x-8.x-9.x升級和降級
特別是,假設當我在pg-9時,我在表格中插入了一些數據?我可以期望在降級回到pg-8之後找到這些數據嗎?這取決於我插入數據的表是否在我的pg_upgrade時已經存在? 並且(稱我爲乖張)假設我重新升級爲pg-9,重新升級爲pg-8,等等多次。有任何保證,還是我抓住機會?
我已經做了一些小規模的測試。我發現在第一次降級後,我回到了大約到我運行pg_upgrade之前的數據。粗略地說,不完全是。隨着每次升級降級週期,它似乎變得更「粗略」。
現在我可以生活在「大致」的部分。然而,我真正討厭的是,如果經過一次重新升級/降級之後,我的數據庫無法恢復損壞。這應該是一個擔心嗎?
最後,我知道pg_dump,但由於時間和存儲的原因,我希望儘可能避免這種情況。
你試圖通過反覆升級和降級來完成什麼? – 2013-04-25 22:22:07
那麼,postgresql是我想要發貨的整體產品的一部分。我的產品的當前版本與postgres-8捆綁在一起,而下一個版本將附帶postgres-9。所以我只是感興趣的是,如果我的用戶升級到*我的*新版本後會遇到什麼,但是因爲任何原因而感到不滿意,他們會決定降級到我的舊版本。然後,也許他們有勇氣回來,他們決定重新升級。 – 2013-04-25 23:05:57
爲了保留用戶的數據,最好在降級時需要轉儲和重新加載。這很麻煩,當然,但比數據更好。 – 2013-04-26 00:01:02