Postgresql
將 PostgreSQL 10 降級到 9.4
將 PG 10 降級到 9.4 時,我應該採取什麼特別的預防措施嗎?
我有一個關於 Heroku (PG 9.4) 的數據庫,我將升級到 PG 10.6。如果出現問題,我希望能夠回到 9.4。
我已經測試過的東西:
- 創建已升級的 PG 10.6 DB 的備份(Heroku 創建二進制壓縮轉儲)
- 創建一個新的 PG 9.4 DB
- 將第 1 步中的備份上傳到第 2 步中的數據庫
備份似乎已正確恢復。應該特別關注什麼以確保這個程序是正確的?還有其他方法可以降級 PostgreSQL 嗎?
不支持降級 PostgreSQL。
如果你有一個簡單的數據庫,你可能會很幸運,它可能會起作用。你的方式是最好的方式;盡可能地測試結果。
首先,請記住 Heroku 可能基於 Postgres,而不是 Postgres。這是一個封閉源數據庫,你不知道他們改變了什麼。
這樣做的唯一方法是在 SQL 中導出所有數據並將其導入回 Postgres(使用
psql
)。如果您只能從 Heroku 訪問二進制壓縮轉儲,您可能會認為他們使用的是自定義格式pg_dump
(我沒有找到任何關於它的文件),因此您需要pg_restore
將其轉換為 SQL 或將其導入你的 Postgres 數據庫。乾杯,
阿赫納
PS:我很好奇,為什麼將其降級到 9.4 而不是將其導入 postgres 10 或 11 數據庫?