跳到正文

備份與還原 ​

開啟服務的 備份與還原 分頁。

資料庫 ​

對於 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 的控制面上,與你的伺服器分開,並有一份異地副本。備份在你把它還原到某處並核對資料之前,都不算經過驗證。對於重要資料,請同時保留自己的副本,例如服務供應商的磁碟快照或下載的備份。

與 Zeabur 無關聯。