日韩小视频-日韩久久一区二区三区-日韩久久一级毛片-日韩久久久精品中文字幕-国产精品亚洲精品影院-国产精品亚洲欧美云霸高清

下載吧 - 綠色安全的游戲和軟件下載中心

軟件下載吧

當前位置:軟件下載吧 > 技術開發 > 數據庫 > 常用?PostgreSQL?數據恢復方案及使用示例

常用?PostgreSQL?數據恢復方案及使用示例

時間:2024-02-03 17:42作者:下載吧人氣:33

作者:張連壯 PostgreSQL 研發負責人

從事多年 PostgreSQL 數據庫內核開發,對 Citus 有非常深入的研究。

PostgreSQL 本身不具備數據閃回和數據誤刪除保護功能,但在不同場景下也有對應的解決方案。本文由作者在 2021 PCC 大會的演講主題《PostgreSQL 數據找回》整理而來,介紹了常見 數據恢復和 預防數據丟失的相關工具實現原理及使用示例。

在盤點數據恢復方案之前,先簡單了解一下數據丟失的原因。

數據丟失的原因

數據丟失通常是由 DDL 與 DML 兩種操作引起。

DDL

在 PostgreSQL 數據庫中,表以文件的形式,采用 OID 命名規則存儲于 PGDATA/base/DatabaseId/relfilenode 目錄中。當進行 DROP TABLE 操作時,會將文件整體刪除。

由于在操作系統中表文件已經不存在,所以只能采用恢復磁盤的方法進行數據恢復。但這種方式找回數據的概率非常小,尤其是云數據庫,恢復磁盤數據幾乎不可能。

DML

DML 包含 UPDATE、DELETE 操作。根據 MVCC 的實現,DML 操作并不是在操作系統磁盤中將數據刪除,因此數據可以通過參數vacuum_defer_cleanup_age 來調整 Dead 元組在數據庫中的數量,以便恢復誤操作的數據。

數據恢復方案

pg_resetwal

pg_resetwal[1] 是 PostgreSQL 自帶的工具(9.6 及以前版本叫 pg_resetxlog)。可清除預寫式日志(WAL)并且可以重置 pg_control 文件中的一些信息。也可以修改當前事務 ID,從而使數據庫可以訪問到未被 Vacuum 掉的 Dead 元組。

使用示例

pg_resetwal 通過設置事務號的方式來恢復數據,因此必須提前獲取待恢復數據的事務號。

1. 查看當前 lsn 位置

— 在線查詢
select pg_current_wal_lsn();

— 離線查詢
./pg_controldata -D dj | grep ‘checkpoint location’

標簽MySQL,技術文檔,數據庫,PostgreSQL

相關下載

查看所有評論+

網友評論

網友
您的評論需要經過審核才能顯示

熱門閱覽

最新排行

公眾號

主站蜘蛛池模板: 国产网站91 | 亚洲在线免费 | 68久久久久欧美精品观看 | 成年女人看片免费视频播放器 | 欧美日韩视频一区二区在线观看 | 欧美日韩亚洲第一页 | 欧美中文一区 | 欧洲乱码伦视频免费 | 日本一线a视频免费观看 | 欧美成人免费午夜全 | 国产精品va一级二级三级 | 中文在线com | 欧美成人另类69 | 亚洲欧美日本综合一区二区三区 | 一本色道久久综合亚洲精品 | 亚洲性生活视频 | japanese色系国产在线高清 | 国产精品国产亚洲精品不卡 | 黄色片免费网址 | 暖暖在线精品日本中文 | 成年人黄视频在线观看 | 欧美激情性色生活片在线观看 | 国产精品视频一区二区猎奇 | 三级黄色片网站 | 亚洲国产高清一区二区三区 | 亲子乱子伦xxxx | 视频三区精品中文字幕 | 美美女高清毛片视频黄的一免费 | 香港毛片免费观看 | 亚洲综合一区二区不卡 | 久久久久久久久久久视频国内精品视频 | 欧美成a人免费观看久久 | 91久久精品国产91久久性色也 | 久久精品网站免费观看 | 亚洲欧美国产精品专区久久 | 日本高清福利视频在线观看 | 亚洲视频成人 | 美女个护士一级毛片亚洲 | 深夜福利视频在线观看免费播放 | 免费看男女做好爽好硬视频 | 亚洲国产剧情在线精品视 |