備份與還原
開啟服務的 備份與還原 分頁。
資料庫
對於 PostgreSQL 和相容 MySQL 的服務,備份會在執行中的容器內執行 pg_dump 或 mysqldump,並儲存匯出的內容。你可以下載它,或者還原到這個服務或其他服務。還原會在執行中的資料庫上執行 SQL,如果中途失敗,可能只套用了一部分。
上傳備份
上傳 接受:
- 來自
pg_dump、pg_dumpall或mysqldump的 SQL,原始或 gzip 壓縮格式(.sql、.sql.gz); - Zeabur 的資料庫備份(Zeabur 下載的
.zip,即使它被命名為.sql.gz); - 用於儲存卷的未壓縮
.tar。
上傳的檔案會在儲存時轉換。PostgreSQL 的叢集匯出(pg_dumpall,Zeabur 的 PostgreSQL 備份就是這種)會被轉換為:把其中唯一的應用資料庫還原到這個服務的資料庫中:
- 角色 如果不存在會被建立,密碼取自備份。如果舊平台的憑據可能已經洩露,請修改它們。
- 備份中的超級使用者角色(Zeabur 的
root)恢復後沒有超級使用者權限,也不能登入,所以舊的管理員密碼在這裡永遠不會成為管理員登入。它們擁有的物件保持原來的擁有者。 - 跳過
template1和postgres資料庫,源資料庫上的設定和授權會套用到這個服務的資料庫上。 - 包含多個應用資料庫的備份會被拒絕;請把每個資料庫分別還原到各自的服務中。
在寫入任何內容之前,還原會檢查兩件事,任何一項不滿足都會停止並給出提示:
- 服務的 PostgreSQL 主版本不能低於備份的版本。PostgreSQL 18 的備份需要 PostgreSQL 18 的服務。
- 資料庫中不能有表。叢集匯出會建立表,但不會刪除已有的表,所以請還原到一個新的資料庫服務中。
儲存卷
儲存卷備份是儲存卷的 .tar 歸檔。備份或還原期間專案必須處於停止狀態,並且還原需要一個空的儲存卷。
異地備份
你建立的每個備份、每個自動備份和每個上傳的檔案,都會另外複製一份到另一個地點的物件儲存中。複製完成後,備份上會出現 已異地備份 標記;在此之前顯示 異地備份中,通常需要一兩分鐘。
副本在離開控制面之前就已加密,所以儲存服務供應商無法讀取你的資料。如果控制面丟失了備份檔案,還原或下載時會先取回副本,並在使用前校驗它的 SHA-256。刪除備份、備份自動過期或刪除專案時,副本也會一起刪除。
你的責任
備份儲存在 Zenavo 的控制面上,與你的伺服器分開,並有一份異地副本。備份在你把它還原到某處並核對資料之前,都不算經過驗證。對於重要資料,請同時保留自己的副本,例如服務供應商的磁碟快照或下載的備份。