腐败检测

来自 PostgreSQL wiki
跳转到导航跳转到搜索

如果你认为你的数据库可能已经损坏,那么你来到错误的地方。请阅读并执行Corruption文章中的操作。

介绍

尽早检测到 PostgreSQL 内部存储层的损坏非常重要。如果未被检测到,它不仅会导致错误的答案,还会在创建基本备份时被复制(影响备份和复制)。这是一个主要问题,因为用户会对依赖备份计划产生错误的信心。

如果你认为你的数据库可能已经损坏,那么你来到错误的地方。请阅读并执行Corruption文章中的操作。

有关避免和防止数据库损坏步骤的文章可以在这里找到。

腐败类型

理论上,腐败可能发生在硬件的许多区域,包括内存甚至 CPU。但是,对于本文,我们将重点关注从页面离开后端进程的地址空间到它被读回的时间段内发生的腐败。

次要挑战

实用程序和后台检查

实用程序(如 pg_basebackup)应更新以在创建备份时验证页面。此外,用户可能希望有一个持续运行的守护进程来慢慢验证冷数据。

检测转置数据

零页

主要挑战

升级和开/关

撕裂页面