操作場景
為(wei)了保證數(shu)據的(de)(de)完(wan)(wan)整(zheng)性,以及(ji)降低對原(yuan)實例的(de)(de)性能影響,會(hui)進(jin)行(xing)(xing)庫表級時(shi)間(jian)(jian)點(dian)恢(hui)(hui)復(fu)。庫表級恢(hui)(hui)復(fu)是為(wei)選擇的(de)(de)某個(ge)庫表恢(hui)(hui)復(fu)到指(zhi)定時(shi)間(jian)(jian)點(dian)。在進(jin)行(xing)(xing)庫表級時(shi)間(jian)(jian)點(dian)恢(hui)(hui)復(fu)備(bei)(bei)份(fen)時(shi),會(hui)從(cong)OBS備(bei)(bei)份(fen)空間(jian)(jian)中選擇一個(ge)該時(shi)間(jian)(jian)點(dian)最近的(de)(de)全(quan)(quan)量(liang)備(bei)(bei)份(fen)下載(zai)到臨(lin)時(shi)實例上(shang)進(jin)行(xing)(xing)全(quan)(quan)量(liang)恢(hui)(hui)復(fu),再在臨(lin)時(shi)實例上(shang)重放WAL到指(zhi)定時(shi)間(jian)(jian)點(dian),完(wan)(wan)成之后將對應庫表的(de)(de)數(shu)據回寫到原(yuan)實例的(de)(de)目標庫表,恢(hui)(hui)復(fu)時(shi)長(chang)和實例的(de)(de)數(shu)據量(liang)有關(guan)。
由(you)于需(xu)要(yao)對實例的(de)所有(you)數據(ju)進(jin)行備份(fen)及恢(hui)(hui)復(fu)操(cao)作,對于數據(ju)量較大的(de)實例,所需(xu)時間(jian)(jian)較長,請耐(nai)心(xin)等(deng)待。通過庫(ku)(ku)表級時間(jian)(jian)點恢(hui)(hui)復(fu)備份(fen),將不會(hui)導致實例數據(ju)被(bei)覆蓋,您可以根(gen)據(ju)需(xu)要(yao)恢(hui)(hui)復(fu)庫(ku)(ku)表。
RDS for PostgreSQL支持恢復單個實例的庫表數據。
使用限制
執行表級恢復時,請謹慎,避免因操(cao)作不(bu)當(dang)導致(zhi)實例或業務異(yi)常(chang)。
為(wei)避免恢(hui)復(fu)失敗和對原數據產生影(ying)響(xiang),表級恢(hui)復(fu)會去除外鍵約束,繼承關系,分區關系,觸發器,重命名索引及相關聯(lian)序列,庫級恢(hui)復(fu)則(ze)不(bu)恢(hui)復(fu)訂(ding)閱(yue)。
表級恢復時,單個實例一次最多恢復20000張表。當需要恢復的表數量超過20000張時,建議您使用恢復到指定時間點功能進行恢復,具體請參考全量數據恢復:恢復到指定時間點。
庫級恢復時,單個實例一次最多恢復2000個庫,單個實例一次最多恢復20000張表。如果不滿足條件,建議您使用恢復到指定時間點功能進行恢復,具體請參考全量數據恢復:恢復到指定時間點。
RDS for PostgreSQL庫表(biao)級時間(jian)點恢復期間(jian)不允許主備實(shi)例和只讀實(shi)例做規(gui)格(ge)變更(geng),重啟,刪除等操作。
進行庫(ku)(ku)表(biao)級(ji)時間(jian)(jian)(jian)(jian)點(dian)恢復時,要恢復的(de)庫(ku)(ku)、表(biao)信息是(shi)在(zai)所選時間(jian)(jian)(jian)(jian)點(dian)前最(zui)新一次全(quan)(quan)量備份中讀(du)取的(de)。由于所選時間(jian)(jian)(jian)(jian)點(dian)可(ke)以是(shi)恢復時間(jian)(jian)(jian)(jian)區間(jian)(jian)(jian)(jian)內的(de)任意時間(jian)(jian)(jian)(jian)點(dian),所以庫(ku)(ku)表(biao)級(ji)時間(jian)(jian)(jian)(jian)點(dian)恢復支持恢復到(dao)存在(zai)指定庫(ku)(ku)、表(biao)信息的(de)最(zui)早的(de)一次全(quan)(quan)量備份時間(jian)(jian)(jian)(jian)點(dian)。
如果恢復時(shi)間點表不存(cun)在(zai),則恢復流程(cheng)依舊(jiu)會完(wan)成(cheng),但(dan)是不會產生對應的恢復數據。
前提條件
由于該操作會在源(yuan)實例(li)上新生成恢復后的庫表,請確保您(nin)的源(yuan)實例(li)磁盤(pan)空間充(chong)足(zu)。
恢復單個實例的庫表數據
步驟 1 登錄(lu)管理控(kong)制臺。
步驟 2 單擊管理控制臺左上角的 ,選擇區域。
步驟 3 選(xuan)擇“數據(ju)(ju)庫 > 關(guan)系型數據(ju)(ju)庫”。進入關(guan)系型數據(ju)(ju)庫信息頁面。
步驟 4 在“實(shi)例(li)管理”頁面(mian),選擇目標實(shi)例(li),單擊(ji)實(shi)例(li)名稱,進入(ru)實(shi)例(li)的“基(ji)本信(xin)息”頁簽。
步驟 5 在左側導航欄(lan),選擇“備份恢(hui)復(fu)”,單擊“庫(ku)表時間點恢(hui)復(fu)”。
步驟 6 填選恢復信息,單擊“下(xia)一(yi)步:確認恢復信息”。
為了方便您操作,所需(xu)恢復的(de)數(shu)據庫和表名支持搜索。
系統會(hui)自動生成以時間戳為(wei)后綴的庫表名,如果需要,您也可以自定(ding)義恢復(fu)后的庫表名。
表名(ming)不(bu)(bu)能(neng)重復且滿(man)足:名(ming)稱(cheng)長度(du)在1~64個字符之(zhi)間,只能(neng)包含字母(mu)、數字、下劃線、中劃線或$,不(bu)(bu)能(neng)包含其他(ta)特殊字符并且不(bu)(bu)能(neng)與同庫(ku)下的表名(ming)重名(ming)。
不支持帶中(zhong)文的庫名和表名恢復(fu)。
不支持庫(ku)名帶“.”字符的數(shu)據庫(ku)恢(hui)復。
庫級時間點恢復過程中,如果創建同名(ming)庫,可能(neng)導(dao)致數(shu)據(ju)丟失。
庫(ku)級時間(jian)點(dian)恢復(fu)(fu),單(dan)個(ge)實例(li)(li)一次最(zui)多恢復(fu)(fu)2000個(ge)庫(ku),單(dan)個(ge)實例(li)(li)一次最(zui)多恢復(fu)(fu)20000張表。
步驟 7 信息確認無誤后,單擊“立即恢復”。
步驟 8 在“實例管理”頁面,可查(cha)看該實例狀態為“恢復中”,恢復過程中該實例業務(wu)不中斷。
同時(shi),您可在“任務中心”頁面,查看“庫表(biao)時(shi)間點恢復(fu)”任務的執行進度及結果。
恢復成功后,您可根據實際情況對庫表進行數據處(chu)理。
----結束
說明
恢復時長和實例的(de)整體數(shu)據量有關,平均速度約(yue)為20MB/s。
通過(guo)庫(ku)表時(shi)間(jian)點恢(hui)復備(bei)份,不會(hui)影響新增數據(ju)。恢(hui)復出來是一個(ge)帶有時(shi)間(jian)戳后綴的(de)臨時(shi)庫(ku)表,用戶(hu)可以(yi)根據(ju)實(shi)際情況(kuang)對這個(ge)臨時(shi)庫(ku)表的(de)數據(ju)進行(xing)處理。