Chuyển đến nội dung chính

第 15 課:恢復失敗的節點

使用 pg_rewind 機制將失敗的主節點重新加入集群,並在必要時從備份重建副本。

🔒 DevSecOps — 第 15 課 第 15 課:恢復失敗的節點

PostgreSQL 與 Patroni 和 PostgreSQL 高可用性etcd

第 3 部分:叢集管理

xdev.asia

目標___HTMLTAG_66__HTMLTAG_67___學完本課程後,您將:__HTMLTAG_68__HTMLTAG_69__HTMLTAG_70___在故障轉移後重新加入舊主資料庫____HTMLTAG_711HTMLTAG_72使用故障轉移後重新加入舊主資料庫____HTMLTAG_711HTMLTAG_72使用_____再同步資料___HTMLTAG_73__HTMLTAG_74___使用下列指令重建副本pg_basebackup___HTMLTAG_75__HTMLTAG_76___處理時間軸分歧___HTMLTAG_77 _HTMLTAG_78___從裂腦場景恢復____HTMLTAG_79__HTMLTAG_80___使用Patroni自動恢復___HTMLTAG_81__HTMLTAG_82__HTMLTAG_83___1。節點恢復概述___HTMLTAG_84__HTMLTAG_85___1.1.恢復場景___HTMLTAG_86__HTMLTAG_87__HTMLTAG_88___何時需要恢復節點? HTMLTAG_89__HTMLTAG_90

場景 1:故障轉移後的舊主節點____HTMLTAG_92__CODEBLOCK_0__HTMLTAG_93___場景 2:副本已斷開連接___HTMLTAG_94__HTDEBLOCK_1HTML 3:硬體更換___HTMLTAG_96__CODEBLOCK_2__HTMLTAG_97___情境 4:時間軸分歧___HTMLTAG_98__CODEBLOCK_3__HTMLTAG_99___1.2。恢復方法

HTMLTAG_102__HTMLTAG_103__HTMLTAG_104__HTMLTAG_105___方法___HTMLTAG_106__HTMLTAG_107___何時使用___HTMLTA G_108__HTMLTAG_109___時間___HTMLTAG_110__HTMLTAG_111___資料遺失___HTMLTAG_112__HTMLTAG_113__HTMLTAG_114__HT MLTAG_115__HTMLTAG_116__HTMLTAG_117__HTMLTAG_118___自動重新加入___HTMLTAG_119__HTMLTAG_120__HTMLTAG_121___節點已清理關閉___HTMLTAG_122__HTMLTAG_123~10秒___HTMLTAG_124__HTMLTAG_125___無___HTMLTAG_126__HTMLTAG_127___ HTMLTAG_128__HTMLTAG_129__HTMLTAG_130___pg_rewind___HTMLTAG_131__HTMLTAG_132__HTMLTAG_133___時間線分歧___HTMLTAG_134__HTMLTAG_135~1-5分鐘___HTMLTAG_136__HTMLTAG_137___無___HTMLTAG_138__HTMLTAG_139_ __HTMLTAG_140__HTMLTAG_141__HTMLTAG_142___pg_basebackup____HTMLTAG_143__HTMLTAG_144__HTMLTAG_145___嚴重損壞/完整重建____HTMLTAG_146__HTMLTAG_147~30分鐘+__HTMLTAG_148__HTMLTAG_149___無____HTMLTAG_150__HTMLTAG_151__HT MLTAG_152__HTMLTAG_153__HTMLTAG_154___手動恢復___HTMLTAG_155__HTMLTAG_156__HTMLTAG_157___複雜裂腦場景___HTMLTAG_158 HTMLTAG_159___變化___HTMLTAG_160__HTMLTAG_161___可能___HTMLTAG_162__HTMLTAG_163__HTMLTAG_164__HTMLTAG_165

2。自動重新加入(Patroni 預設)___HTMLTAG_168__HTMLTAG_169___2.1。自動重新加入的工作原理____HTMLTAG_170__HTMLTAG_171__HTMLTAG_172___當節點重新上線時:

___CODEBLOCK_4__HTMLTAG_175___2.2。範例:乾淨重新加入___HTMLTAG_176__HTMLTAG_177__HTMLTAG_178___設定:___HTMLTAG_180__CODE BLOCK_5__HTMLTAG_181__HTMLTAG_182___模擬節點3失敗:___HTMLTAG_184__CODEBLOCK_6__HTM LTAG_185__HTMLTAG_186___恢復:____HTMLTAG_188__CODEBLOCK_7__HTMLTAG_189__HTMLTA G_190___日誌輸出:___HTMLTAG_192__CODEBLOCK_8__HTMLTAG_193__HTMLTAG_194___驗證___HT MLTAG_195___:___HTMLTAG_196__CODEBLOCK_9__HTMLTAG_197__HTMLTAG_198___時間:約10秒✅___HTMLTAG_200__HTMLTAG_201___2.3。自動重新加入的設定___HTMLTAG_202__CODEBLOCK_10__HTMLTAG_203___3。使用 pg_rewind___HTMLTAG_204__HTMLTAG_205___3.1。什麼是 pg_rewind?

___HTMLTAG_207__HTMLTAG_208___pg_rewind= 用於重新同步 PostgreSQL 實例的工具,該實例與當前時間軸不同偏離。 ___HTMLTAG_212__HTMLTAG_213__HTMLTAG_214___何時需要:___HTMLTAG_216__CODEBLOCK_11__H TMLTAG_217__HTMLTAG_218___工作原理:___HTMLTAG_220__CODEBLOCK_12__HTMLTAG_221___3.2。 pg_rewind的先決條件___HTMLTAG_222__HTMLTAG_223__HTMLTAG_224___要求:___HTMLTAG_226__CODEBLOCK_13__HTMLTAG_227_____ _HTMLTAG_228_HTMLTAGMLTA___2_227_____ _HTMLTAG_228_HTML ___HTMLTAG_231__HTMLTAG_232__CODEBLOCK_14__HTMLTAG_233___3.3.手動 pg_rewind___HTMLTAG_234__HTMLTAG_235__HTMLTAG_236_______MLTAG_237___:135__HTMLTAG_236___節點場景:135__ ___HTMLTAG_238__HTMLTAG_239__HTMLTAG_240___步驟 1:停止 PostgreSQL node1___HTMLTAG_241__HTMLTAG_242__CODEBLOCK_15__HTMLTAG_243__HTMLTAG_242__CODEBLOCK_15__HTMLTAG_243__HTMLTAG_244___步驟 2:運行pg_rewind____HTMLTAG_245__HTMLTAG_246______CODEBLOCK_16__HTMLTAG_247__HTMLTAG_248___步驟 3:建立standby.signal____HTMLTAG_249__HTMLTAG_2500CODEBLOC_1771251250 4:更新primary_conninfo___HTMLTAG_253__HTMLTAG_254__CODEBLOCK_18______HTMLTAG_255__HTMLTAG_256___步驟 5:開始PostgreSQL____HTMLTAG_257__HTMLTAG_2___步驟 5:開始PostgreSQL____HTMLTAG_257__HTMLTAG_258__CODEBLOCK_MLGML步驟:驗證____HTMLTAG_261__HTMLTAG_262__CODEBLOCK_20__HTMLTAG_263__HTMLTAG_264___時間:約 1-5 分鐘(取決於分歧)大小)_

__TAG_266__24。自動 pg_rewind (Patroni)___HTMLTAG_268__HTMLTAG_269__HTMLTAG_270___啟用patoni.yml:___HTMLTAG_272__CODEBLOCK_21__HTMLTAG_273__HTMLTAG_272__CODEBLOCK_21__HTMLTAG_273__HTMLTAG_274___行為_ __HTMLTAG_275___:___HTMLTAG_276__CODEBLOCK_22__HTMLTAG_277__HTMLTAG_278___範例日誌:___HTMLTAG_280__CODEBLOCK_23__HTMLTAG_281___4。使用 pg_basebackup___HTMLTAG_282__HTMLTAG_283___4.1 完全重建。何時使用 pg_basebackup___HTMLTAG_284__HTMLTAG_285__HTMLTAG_286___用例:___HTMLTAG_288__HTMLTAG_289__HTMLTAG_290__HTMLTAG_288__HTMLTAG_289__HTMLTAG_290__HTMLTAG_291___p_wrew資料也是如此分歧____HTMLTAG_293__HTMLTAG_294__HTMLTAG_295___偵測到損壞-資料完整性問題____HTMLTAG_297__HTMLTAG_298__HTM LTAG_299___主要版本升級-不同的PostgreSQL版本___HTMLTAG_301__HTMLTAG_302__HTMLTAG_303___新節點_-將新副本新增至叢集___HTMLTAG_305__HTMLTAG_306___磁碟已更換-空資料目錄___HTMLTAG_309__HTMLTAG_310__HTMLTAG_311___偏執安全性-想要確保清潔狀態___HTMLTAG_313__HTMLTAG_314__ HTMLTAG_315__HTMLTAG_316___衡量:較慢(對於大資料庫約30分鐘-2小時)但有保證乾淨.___HTMLTAG_318__HTMLTAG_319___4.2。手動 pg_basebackup___HTMLTAG_320__HTMLTAG_321__HTMLTAG_322___步驟 1:停止並清理節點___HTMLTAG_323__HTMLTAG_324__CODEBLOCK_24__HTMLTAG_325__HTMLTAG_326_____HTMLTAG_325__HTMLTAG_326_____ 2:從下列位置取得基本備援主要___HTMLTAG_327__HTMLTAG_328__CODEBLOCK_25__HTMLTAG_329__HTMLTAG_330___輸出:____HTMLTAG_332__CODEBLOCK_26__HTMLTAG_333__HTMLTAG_334___步驟 3:驗證設定___HTMLTAG_335__HTMLTAG_336__CODEBLOCK_27__HTMLTAG_337__HTMLTAG_338___步驟4:啟動節點___HTMLTAG_339__HTMLTAG_340__CODEBLOCK_28__HTMLTAG_341__HTMLTAG_342___步驟5:驗證____HTMLTAG_343__HTMLTAG_344__CODEBLOCK_29__HTMLTAG_345__HTMLTAG_346____時間:約30分鐘-2小時(取決於資料庫大小)____HTMLTAG_348481G_3488413_。 Patroni自動重新初始化___HTMLTAG_350__HTMLTAG_351__HTMLTAG_352___啟用自動重新初始化:___HTMLTAG_354__CODEBLOC K_30__HTMLTAG_355__HTMLTAG_356___行為:___HTMLTAG_358__CODEBLOCK_31__HTMLTAG_359___4.4。 Patroni重新啟動指令____HTMLTAG_360__HTMLTAG_361__HTMLTAG_362___手動觸發:___HTMLTAG_364__CODEBLOCK_3 2__HTMLTAG_365__HTMLTAG_366___監控進度:

CODEBLOCK_33__HTMLTAG_369___5。時間軸分歧解決____HTMLTAG_370__HTMLTAG_371___5.1。了解時間軸___HTMLTAG_372__HTMLTAG_373__HTMLTAG_374___時間軸=歷史分支計數器___HTMLTAG_376__CODEBLOCK_34__ ____HTMLTAG_377__HTMLTAG_378___為什麼使用時間軸存在:___HTMLTAG_380__CODEBLOCK_35__HTMLTAG_381___5.2。偵測時間軸分歧___HTMLTAG_382__HTMLTAG_383__HTMLTAG_384___檢查本地時間軸:___HTMLTAG_386__CODEBLOCK_36__ HTMLTAG_387__HTMLTAG_388___檢查叢集時間軸:___HTMLTAG_390__CODEBLOCK_37__HTMLTAG_391__HTMLTAG_392 ___比較:____HTMLTAG_394__CODEBLOCK_38__HTMLTAG_395___5.3.情境:腦裂後時間軸發散____HTMLTAG_396__HTMLT AG_397__HTMLTAG_398___設定_:____HTMLTAG_400__CODEBLOCK_39__HTMLTAG_401__HTMLTAG_402___解析度__ _HTMLTAG_403___:___HTMLTAG_404__CODEBLOCK_40__HTMLTAG_405__HTMLTAG_406___預防:____HTMLTAG_408__CODEBLOCK_41__HTMLTAG_409___6。裂腦預防和恢復___HTMLTAG_410__HTMLTAG_411___6.1。 Patroni 如何防止腦裂___HTMLTAG_412__HTMLTAG_413__HTMLTAG_414___機轉:DCS Leader Lock___HTMLTAG_415__HTMLTAG_416__CODEBLOCK_42__HTMLTAG_417__HTMLTAG_418___程式碼流程(偽):___HTMLTAG_420__CODEBLOCK_43__HTMLTAG_421___6.2。防護機制____HTMLTAG_422__HTMLTAG_423__HTMLTAG_424___PostgreSQL等級防護:___HTMLTAG_426__CODEBLOCK_44__HTMLTAG_427__HTMLTAG_428___作業系統級防護(進階)__3HTMLTAG_430__CODEBLOCK_451___MLTAG_451.___3。情境:從裂腦恢復____HTMLTAG_432__HTMLTAG_433__HTMLTAG_434___偵測:____HTMLTAG_436__CODEBLOCK_ 46__HTMLTAG_437__HTMLTAG_438___復原步驟:___HTMLTAG_440__CODEBLOCK_47__HTMLTAG_441___7。監控節點恢復___HTMLTAG_442__HTMLTAG_443___7.1。關鍵指標___HTMLTAG_444__CODEBLOCK_48__HTMLTAG_445___7.2。 Patroni REST API 監控___HTMLTAG_446__CODEBLOCK_49__HTMLTAG_447___7.3。關於恢復問題的警報___HTMLTAG_448__CODEBLOCK_50__HTMLTAG_449___8。最佳實務___HTMLTAG_450__HTMLTAG_451___✅ 應該___HTMLTAG_452__HTMLTAG_453__HTMLTAG_454__HTMLTAG_455___啟用wal_log_hints& 7__HTMLTAG_458__HTMLTAG_459___定期測試恢復-每月演習___HTMLTAG_461__HTMLTAG_462__HTMLTAG_463___監控時間表 -偏差警報___HTMLTAG_465__HTMLTAG_466__HTMLTAG_467___有備份 -在進行危險操作之前___HTMLTAG_469__HTMLTAG_470__HTMLTAG_471___文檔程序__HTMLTAG_472___- 恢復操作手冊____HTMLTAG_473__HTMLTAG_474__HTMLTAG_475___使用 Patroni自動恢復 -減少手動幹預____HTMLTAG_477__HTMLTAG_478__HTMLTAG_479___恢復後驗證-測試複製、查詢___HTMLTAG_481__HTMLTAG_48224148484847____ML_482148484847_84847_FML_4828群集關鍵___HTMLTAG_485__HTMLTAG_486__HTMLTAG_487___記錄一切-事件審計追蹤___HTMLTAG_489__HTMLTAG_490__HTMLTAG_491___練習裂腦恢復___HTMLTAG_492-希望永遠不需要,但可以準備好___HTMLTAG_493__HTMLTAG_494__HTMLTAG_495___❌不要___HTMLTAG_496__HTMLTAG_497__HTMLTAG_498__HTMLTAG_499______不要跳過_log_hints___MLTAG_500___&nbd-499___* pg_rewind將失敗____HTMLTAG_501__HTMLTAG_502__HTMLTAG_503____不要假設自動恢復有效- 測試一下! ___HTMLTAG_505__HTMLTAG_506__HTMLTAG_507___不要忽略時間軸- 嚴重問題____HTMLTAG_509__HTMLTAG_510__HTMLTAG_511___在恢復期間不要讓手動升級___HTMLTAGs112_______&m處理___HTMLTAG_513__HTMLTAG_514__HTMLTAG_515___不要在沒有備份的情況下刪除資料-可能會出現分歧的資料重要___HTMLTAG_517__HTMLTAG_518__HTMLTAG_519___不要執行裂腦叢集-立即修正___HTMLTAG_521__HTMLTAG_522__HTML TAG_523___不要忘記回呼 -防護預防腦裂____HTMLTAG_525__HTMLTAG_526__HTMLTAG_527___不要過度自動化重新初始化 - 有資料遺失風險____HTMLTAG_529__HTMLTAG_530__HTMLTAG_531___9。實驗室練習___HTMLTAG_532__HTMLTAG_533___實驗室 1:乾淨關閉後自動重新加入___HTMLTAG_534__HTMLTAG_535__HTMLTAG_536___任務:___HTMLTAG_538__HTMLTAG_5341U47____ML_ML systemctl stop patoni___HTMLTAG_542__HTMLTAG_543__HTMLTAG_544___在主資料庫上進行更改___HTMLTAG_545__HTMLTAG_546___啟動副本:sudo systemctl start patoni____HTMLTAG_548__HTMLTAG_549__HTMLTAG_550___驗證自動重新加入和滯後追趕___HTMLTAG_551__HTMLTAG_552___恢復時間____HTMLTAG_553__HTMLTAG_554__HTMLTAG_555____HTMLTAG_555_____HTMLTAG:模擬後的 ____HT pg_rewind故障轉移___HTMLTAG_556__HTMLTAG_557__HTMLTAG_558___任務:___HTMLTAG_560__HTMLTAG_561__HTMLTAG_562________1560TAG_563)HTMLTAGML47562___47562___ stop patoni___HTMLTAG_566__HTMLTAG_567__HTMLTAG_568___等待故障轉移完成___HTMLTAG_569__HTMLTAG_570___啟動舊的主資料庫(應自動倒回)___HTMLTAG_57 1__HTMLTAG_572___驗證舊的主資料庫作為副本重新加入____HTMLTAG_573__HTMLTAG_574___檢查時間軸增量___HTMLTAG_575__HTMLTAG_576__HTMLTAG_577___實驗3:使用 pg_basebackup 完全重建____HTMLTAG_578__HTMLTAG_579__HTMLTAG_580___任務:___HTMLTAG_582__HTMLTAG_583__HTMLTAG_584___停止副本____HTMLTAG_585__HTMLTAG_586___刪除資料目錄:sudo 4587rf /var/lib/postgresql/18/data/*___HTMLTAG_588__HTMLTAG_589__HTMLTAG_590___從主資料庫手動執行pg_basebackup____HTMLTAG_591__HTMLTAG_592___開始複製____HTMLTAG_593__HTMLTAG_594___驗證複製已恢復___HTMLTAG_595__HTMLTAG_596___測量重建時間___HTMLTAG_597__HTMLTAG_598198597_____重新初始化指令___HTMLTAG_600__HTMLTAG_601__HTMLTAG_602___任務:___HTMLTAG_604__HTMLTAG_605__HTMLTAG_606___使用patronictl 重新初始化postgre node3____HTMLTAG_608__HTMLTAG_609__HTMLTAG_610___在過程中監控日誌____HTMLTAG_611__HTMLTAG_612___驗證自動重建____HTMLTAG_613__HTMLTAG_614___比較時間與手動重建_backup___HT MLTAG_615__HTMLTAG_616__HTMLTAG_617___實驗5:時間軸分歧模擬___HTMLTAG_618__HTMLTAG_619__HTMLTAG_620___任務:___HTMLTAG_622__HTMLTAG_636 24___建立網路分區(iptables)___HTMLTAG_625__HTMLTAG_626___等待故障轉移____HTMLTAG_627__HTMLTAG_628___手動升級舊主資料庫(強制裂腦)___HTMLTAG_629__HTMLTAG_630_____ _HTMLTAG_631__HTMLTAG_632___恢復網路____HTMLTAG_633__HTMLTAG_634___觀察衝突偵測___HTMLTAG_635__HTMLTAG_636___練習恢復程式___HTMLTAG_637__HTMLTAG_638__9MLG_638__910G_638__910G_638__910G_638__310G_638__910。疑難排解___HTMLTAG_640__HTMLTAG_641___問題:pg_rewind失敗___HTMLTAG_642__HTMLTAG_643__HTMLTAG_644___錯誤:pg_rewind:致命:找不到通用祖先___HTMLTAG_647__HTMLTAG_648__HTMLTAG_649__HTMLTAG_650___原因:wal_log_hints未啟用或資料太多___HTMLTAG_652__HTMLTAG_653__HTMLTAG_654___解決方案:___HTMLTAG_656__CODEBLOCK_51__HTML TAG_657___問題:副本卡在恢復中___HTMLTAG_658__HTMLTAG_659__HTMLTAG_660___症狀:副本顯示“正在運行”,但延遲較高。 ___HTMLTAG_662__HTMLTAG_663__HTMLTAG_664___診斷:___HTMLTAG_666__CODEBLOCK_52__ HTMLTAG_667__HTMLTAG_668___常見原因:___HTMLTAG_670__HTMLTAG_671__HTMLTAG_672___WA L接收器崩潰___HTMLTAG_673__HTMLTAG_674___網路問題____HTMLTAG_675__HTMLTAG_676___副本上的磁碟已滿___HTMLTAG_677 __HTMLTAG_678___存檔復原錯誤___HTMLTAG_679__HTMLTAG_680__HTMLTAG_681__HTMLTAG_682___解決方案___HTMLTAG_6 83___:___HTMLTAG_684__CODEBLOCK_53__HTMLTAG_685___問題:無法連線恢復___HTMLTAG_686__HTMLTAG_687__HTMLT AG_688___錯誤:致命:資料庫系統正在啟動___HTMLTAG_691__HTMLTAG_692__HTMLTAG _693__HTMLTAG_694___原因:PostgreSQL仍在重播WAL.___HTMLTAG_696__HTMLTAG_697__HTMLTAG _698___解決方案:等待復原完成,或檢查日誌是否有錯誤.___HTMLTAG_700__CODEBLOCK_54__HTMLTAG_701___11。摘要___HTMLTAG_702__HTMLTAG_703___復原方法摘要 ___HTMLTAG_706__HTMLTAG_707__HTMLTAG_708__HTMLTAG_709___方法___HTMLTAG_710__HTMLTAG_711___速度___HTMLTAG_712__HTMLTAG_713___資料遺失___HTMLTAG_714__HTMLTAG_715___用例___HTMLTAG_716__HTMLTAG_717__HTMLTAG_718__HTMLTAG_716__HTMLTAG_717__HTMLTAG_718__HTMLTAG_716__HTMLTAG_717__HTMLTAG_718__HTMLTAG_716__HTMLTAG_717__HT7G_718__HTMLTAG_719__1TAG_7192____ LTAG_722__HTMLTAG_723___最快___HTMLTAG_724__HTMLTAG_725___無___HTMLTAG_726__HTMLTAG_727___乾淨關機/重新啟動___HTMLTAG_728__HTMLTAG_729__HTMLTAGMLTAGMLUU​​D1731412____4__HT_MLTAGML_731UpML 32__HTMLTAG_733___快速___HTMLTAG_734__HTMLTAG_735___無___HTMLTAG_736__HTMLTAG_737___時間軸分歧___HTMLTAG_738__HTMLTAG_739__HTM LTAG_740__HTMLTAG_741___pg_basebackup___HTMLTAG_742__HTMLTAG_743___慢___HTMLTAG_744__HTMLTAG_745___無___HTMLTAG_746__HTM LTAG_747___腐敗,嚴重分歧___HTMLTAG_748__HTMLTAG_749__HTMLTAG_750__HTMLTAG_751___手動恢復___HTMLTAG_752__HTMLTAG_753___變化____HTML TAG_754__HTMLTAG_755___可能___HTMLTAG_756__HTMLTAG_757___裂腦,複雜問題____HTMLTAG_758__HTMLTAG_759__HTMLTAG_760__HTMLTAG_761___

關鍵概念___HTMLTAG_764__HTMLTAG_765___✅ 自動重新加入 - Patroni處理乾淨恢復自動___HTMLTAG_768__HTMLTAG_769___✅ pg_rewind -時間軸發散後重新同步(需要wal_log_hints)___HTMLTAG_772__HTMLTAG_773___✅ pg_basebackup -從主資料庫完全重建(緩慢但安全)___HTMLTAG_776__HTMLTAG_777___✅ 時間軸-歷史分支,故障轉移時遞增___HTMLTAG_780__HTMLTAG_781___✅ 裂腦-多個主選(由DCS 領導鎖定阻止)___HTMLTAG_784__HTMLTAG_785___恢復檢查表____HTMLTAG_786__HTMLTAG_787__HTMLTAG_788___ 偵測到節點故障___HTMLTAG_789__HTMLTAG_790___ 決定恢復方法需要____HTMLHTMLTAG_789__HTMLTAG_790___ 決定恢復方法需要____HTMLTAMLTAG17211790___備份分歧資料(如果有)___HTMLTAG_793__HTMLTAG_794___ 執行復原(自動或手動)___HTMLTAG_795__HTMLTAG_796___ 驗證時間軸與叢集符合___HTMLTAG_797__HTMLTAG_798___驗證複製串流處理___HTMLTAG_799__HTMLTAG_800___測試讀取/寫入操作___HTMLTAG_801__HTMLTAG_802___檢查複製延遲___HTMLTAG_803__H TMLTAG_804___更新監控/文件___HTMLTAG_805__HTMLTAG_806__HTMLTAG_807___下一步步驟___HTMLTAG_808__HTMLTAG_809___第16 課程將介紹備份和時間點恢復:___HTMLTAG_812__HTMLTAG_813__HTMLTAG_814___pg_basebackup 策略___HTMLTAG_815__HTMLTAG_816___AL 時間歸檔時間歸檔。 (PITR) 程式___HTMLTAG_819__HTMLTAG_820___備份自動化與計畫___HTMLTAG_821__HTMLTAG_822___災難復原規劃___HTMLTAG_823__HTMLTAG_824___