zero_damaged_pages 是一个 配置参数,用于确定检测到损坏的页面头时是否会引发错误。
zero_damaged_pages 在 PostgreSQL 7.4 中添加。
用法
通常情况下,当检测到无效或损坏的页面头时,PostgreSQL 会报告一个错误并中止当前事务。如果将 zero_damaged_pages 设置为“on”,则会发出警告,并将损坏的页面清零。这将导致损坏页面上的所有行丢失。
zero_damaged_pages 的主要用例是能够至少部分地从因软件或硬件问题而损坏的关系中恢复数据。
重要提示:使用此设置可能导致无法挽回的数据丢失,只能作为最后的手段。
请注意,清零的页面不会强制写入磁盘,因此建议在继续操作之前重新创建受影响的关系。
默认值
zero_damaged_pages 的默认值为:off。
按 PostgreSQL 版本详细信息
zero_damaged_pages (PostgreSQL 19)
| 设置 |
off |
| 单位 |
|
| 类别 |
开发者选项 |
| 简短描述 |
在损坏的页面头之后继续处理。 |
| 扩展描述 |
检测到损坏的页面头通常会导致 PostgreSQL 报告错误并中止当前事务。将“zero_damaged_pages”设置为 true 会使系统转而报告警告,清零损坏的页面,并继续处理。这种行为将破坏数据,即损坏页面上的所有行。 |
| 上下文 |
superuser |
| 变量类型 |
bool |
| 来源 |
默认 |
| 最小值 |
|
| 最大值 |
|
| 枚举值 |
|
| 启动值 |
off |
| 重置值 |
off |
| 源文件 |
|
| 源行 |
|
| 需要重启 |
false |
文档:zero_damaged_pages
zero_damaged_pages (PostgreSQL 18)
| 设置 |
off |
| 单位 |
|
| 类别 |
开发者选项 |
| 简短描述 |
在损坏的页面头之后继续处理。 |
| 扩展描述 |
检测到损坏的页面头通常会导致 PostgreSQL 报告错误并中止当前事务。将“zero_damaged_pages”设置为 true 会使系统转而报告警告,清零损坏的页面,并继续处理。这种行为将破坏数据,即损坏页面上的所有行。 |
| 上下文 |
superuser |
| 变量类型 |
bool |
| 来源 |
默认 |
| 最小值 |
|
| 最大值 |
|
| 枚举值 |
|
| 启动值 |
off |
| 重置值 |
off |
| 源文件 |
|
| 源行 |
|
| 需要重启 |
false |
文档:zero_damaged_pages
zero_damaged_pages (PostgreSQL 17)
| 设置 |
off |
| 单位 |
|
| 类别 |
开发者选项 |
| 简短描述 |
在损坏的页面头之后继续处理。 |
| 扩展描述 |
检测到损坏的页面头通常会导致 PostgreSQL 报告错误并中止当前事务。将“zero_damaged_pages”设置为 true 会使系统转而报告警告,清零损坏的页面,并继续处理。这种行为将破坏数据,即损坏页面上的所有行。 |
| 上下文 |
superuser |
| 变量类型 |
bool |
| 来源 |
默认 |
| 最小值 |
|
| 最大值 |
|
| 枚举值 |
|
| 启动值 |
off |
| 重置值 |
off |
| 源文件 |
|
| 源行 |
|
| 需要重启 |
false |
文档:zero_damaged_pages
zero_damaged_pages (PostgreSQL 16)
| 设置 |
off |
| 单位 |
|
| 类别 |
开发者选项 |
| 简短描述 |
在损坏的页面头之后继续处理。 |
| 扩展描述 |
检测到损坏的页面头通常会导致 PostgreSQL 报告错误并中止当前事务。将 zero_damaged_pages 设置为 true 会使系统转而报告警告,清零损坏的页面,并继续处理。这种行为将破坏数据,即损坏页面上的所有行。 |
| 上下文 |
superuser |
| 变量类型 |
bool |
| 来源 |
默认 |
| 最小值 |
|
| 最大值 |
|
| 枚举值 |
|
| 启动值 |
off |
| 重置值 |
off |
| 源文件 |
|
| 源行 |
|
| 需要重启 |
false |
文档:zero_damaged_pages
zero_damaged_pages (PostgreSQL 15)
| 设置 |
off |
| 单位 |
|
| 类别 |
开发者选项 |
| 简短描述 |
在损坏的页面头之后继续处理。 |
| 扩展描述 |
检测到损坏的页面头通常会导致 PostgreSQL 报告错误并中止当前事务。将 zero_damaged_pages 设置为 true 会使系统转而报告警告,清零损坏的页面,并继续处理。这种行为将破坏数据,即损坏页面上的所有行。 |
| 上下文 |
superuser |
| 变量类型 |
bool |
| 来源 |
默认 |
| 最小值 |
|
| 最大值 |
|
| 枚举值 |
|
| 启动值 |
off |
| 重置值 |
off |
| 源文件 |
|
| 源行 |
|
| 需要重启 |
false |
文档:zero_damaged_pages
zero_damaged_pages (PostgreSQL 14)
| 设置 |
off |
| 单位 |
|
| 类别 |
开发者选项 |
| 简短描述 |
在损坏的页面头之后继续处理。 |
| 扩展描述 |
检测到损坏的页面头通常会导致 PostgreSQL 报告错误并中止当前事务。将 zero_damaged_pages 设置为 true 会使系统转而报告警告,清零损坏的页面,并继续处理。这种行为将破坏数据,即损坏页面上的所有行。 |
| 上下文 |
superuser |
| 变量类型 |
bool |
| 来源 |
默认 |
| 最小值 |
|
| 最大值 |
|
| 枚举值 |
|
| 启动值 |
off |
| 重置值 |
off |
| 源文件 |
|
| 源行 |
|
| 需要重启 |
false |
文档:zero_damaged_pages
zero_damaged_pages (PostgreSQL 13)
| 设置 |
off |
| 单位 |
|
| 类别 |
开发者选项 |
| 简短描述 |
在损坏的页面头之后继续处理。 |
| 扩展描述 |
检测到损坏的页面头通常会导致 PostgreSQL 报告错误并中止当前事务。将 zero_damaged_pages 设置为 true 会使系统转而报告警告,清零损坏的页面,并继续处理。这种行为将破坏数据,即损坏页面上的所有行。 |
| 上下文 |
superuser |
| 变量类型 |
bool |
| 来源 |
默认 |
| 最小值 |
|
| 最大值 |
|
| 枚举值 |
|
| 启动值 |
off |
| 重置值 |
off |
| 源文件 |
|
| 源行 |
|
| 需要重启 |
false |
文档:zero_damaged_pages
zero_damaged_pages (PostgreSQL 12)
| 设置 |
off |
| 单位 |
|
| 类别 |
开发者选项 |
| 简短描述 |
在损坏的页面头之后继续处理。 |
| 扩展描述 |
检测到损坏的页面头通常会导致 PostgreSQL 报告错误并中止当前事务。将 zero_damaged_pages 设置为 true 会使系统转而报告警告,清零损坏的页面,并继续处理。这种行为将破坏数据,即损坏页面上的所有行。 |
| 上下文 |
superuser |
| 变量类型 |
bool |
| 来源 |
默认 |
| 最小值 |
|
| 最大值 |
|
| 枚举值 |
|
| 启动值 |
off |
| 重置值 |
off |
| 源文件 |
|
| 源行 |
|
| 需要重启 |
false |
文档:zero_damaged_pages
zero_damaged_pages (PostgreSQL 11)
| 设置 |
off |
| 单位 |
|
| 类别 |
开发者选项 |
| 简短描述 |
在损坏的页面头之后继续处理。 |
| 扩展描述 |
检测到损坏的页面头通常会导致 PostgreSQL 报告错误并中止当前事务。将 zero_damaged_pages 设置为 true 会使系统转而报告警告,清零损坏的页面,并继续处理。这种行为将破坏数据,即损坏页面上的所有行。 |
| 上下文 |
superuser |
| 变量类型 |
bool |
| 来源 |
默认 |
| 最小值 |
|
| 最大值 |
|
| 枚举值 |
|
| 启动值 |
off |
| 重置值 |
off |
| 源文件 |
|
| 源行 |
|
| 需要重启 |
false |
文档:zero_damaged_pages
zero_damaged_pages (PostgreSQL 10)
| 设置 |
off |
| 单位 |
|
| 类别 |
开发者选项 |
| 简短描述 |
在损坏的页面头之后继续处理。 |
| 扩展描述 |
检测到损坏的页面头通常会导致 PostgreSQL 报告错误并中止当前事务。将 zero_damaged_pages 设置为 true 会使系统转而报告警告,清零损坏的页面,并继续处理。这种行为将破坏数据,即损坏页面上的所有行。 |
| 上下文 |
superuser |
| 变量类型 |
bool |
| 来源 |
默认 |
| 最小值 |
|
| 最大值 |
|
| 枚举值 |
|
| 启动值 |
off |
| 重置值 |
off |
| 源文件 |
|
| 源行 |
|
| 需要重启 |
false |
文档:zero_damaged_pages
zero_damaged_pages (PostgreSQL 9.6)
| 设置 |
off |
| 单位 |
|
| 类别 |
开发者选项 |
| 简短描述 |
在损坏的页面头之后继续处理。 |
| 扩展描述 |
检测到损坏的页面头通常会导致 PostgreSQL 报告错误并中止当前事务。将 zero_damaged_pages 设置为 true 会使系统转而报告警告,清零损坏的页面,并继续处理。这种行为将破坏数据,即损坏页面上的所有行。 |
| 上下文 |
superuser |
| 变量类型 |
bool |
| 来源 |
默认 |
| 最小值 |
|
| 最大值 |
|
| 枚举值 |
|
| 启动值 |
off |
| 重置值 |
off |
| 源文件 |
|
| 源行 |
|
| 需要重启 |
false |
文档:zero_damaged_pages
zero_damaged_pages (PostgreSQL 9.5)
| 设置 |
off |
| 单位 |
|
| 类别 |
开发者选项 |
| 简短描述 |
在损坏的页面头之后继续处理。 |
| 扩展描述 |
检测到损坏的页面头通常会导致 PostgreSQL 报告错误并中止当前事务。将 zero_damaged_pages 设置为 true 会使系统转而报告警告,清零损坏的页面,并继续处理。这种行为将破坏数据,即损坏页面上的所有行。 |
| 上下文 |
superuser |
| 变量类型 |
bool |
| 来源 |
默认 |
| 最小值 |
|
| 最大值 |
|
| 枚举值 |
|
| 启动值 |
off |
| 重置值 |
off |
| 源文件 |
|
| 源行 |
|
| 需要重启 |
false |
文档:zero_damaged_pages
zero_damaged_pages (PostgreSQL 9.4)
| 设置 |
off |
| 单位 |
|
| 类别 |
开发者选项 |
| 简短描述 |
在损坏的页面头之后继续处理。 |
| 扩展描述 |
检测到损坏的页面头通常会导致 PostgreSQL 报告错误并中止当前事务。将 zero_damaged_pages 设置为 true 会使系统转而报告警告,清零损坏的页面,并继续处理。这种行为将破坏数据,即损坏页面上的所有行。 |
| 上下文 |
superuser |
| 变量类型 |
bool |
| 来源 |
默认 |
| 最小值 |
|
| 最大值 |
|
| 枚举值 |
|
| 启动值 |
off |
| 重置值 |
off |
| 源文件 |
|
| 源行 |
|
文档:zero_damaged_pages
zero_damaged_pages (PostgreSQL 9.3)
| 设置 |
off |
| 单位 |
|
| 类别 |
开发者选项 |
| 简短描述 |
在损坏的页面头之后继续处理。 |
| 扩展描述 |
检测到损坏的页面头通常会导致 PostgreSQL 报告错误并中止当前事务。将 zero_damaged_pages 设置为 true 会使系统转而报告警告,清零损坏的页面,并继续处理。这种行为将破坏数据,即损坏页面上的所有行。 |
| 上下文 |
superuser |
| 变量类型 |
bool |
| 来源 |
默认 |
| 最小值 |
|
| 最大值 |
|
| 枚举值 |
|
| 启动值 |
off |
| 重置值 |
off |
| 源文件 |
|
| 源行 |
|
文档:zero_damaged_pages
zero_damaged_pages (PostgreSQL 9.2)
| 设置 |
off |
| 单位 |
|
| 类别 |
开发者选项 |
| 简短描述 |
在损坏的页面头之后继续处理。 |
| 扩展描述 |
检测到损坏的页面头通常会导致 PostgreSQL 报告错误并中止当前事务。将 zero_damaged_pages 设置为 true 会使系统转而报告警告,清零损坏的页面,并继续处理。这种行为将破坏数据,即损坏页面上的所有行。 |
| 上下文 |
superuser |
| 变量类型 |
bool |
| 来源 |
默认 |
| 最小值 |
|
| 最大值 |
|
| 枚举值 |
|
| 启动值 |
off |
| 重置值 |
off |
| 源文件 |
|
| 源行 |
|
文档:zero_damaged_pages
zero_damaged_pages (PostgreSQL 9.1)
| 设置 |
off |
| 单位 |
|
| 类别 |
开发者选项 |
| 简短描述 |
在损坏的页面头之后继续处理。 |
| 扩展描述 |
检测到损坏的页面头通常会导致 PostgreSQL 报告错误并中止当前事务。将 zero_damaged_pages 设置为 true 会使系统转而报告警告,清零损坏的页面,并继续处理。这种行为将破坏数据,即损坏页面上的所有行。 |
| 上下文 |
superuser |
| 变量类型 |
bool |
| 来源 |
默认 |
| 最小值 |
|
| 最大值 |
|
| 枚举值 |
|
| 启动值 |
off |
| 重置值 |
off |
| 源文件 |
|
| 源行 |
|
文档:zero_damaged_pages
zero_damaged_pages (PostgreSQL 9.0)
| 设置 |
off |
| 单位 |
|
| 类别 |
开发者选项 |
| 简短描述 |
在损坏的页面头之后继续处理。 |
| 扩展描述 |
检测到损坏的页面头通常会导致 PostgreSQL 报告错误并中止当前事务。将 zero_damaged_pages 设置为 true 会使系统转而报告警告,清零损坏的页面,并继续处理。这种行为将破坏数据,即损坏页面上的所有行。 |
| 上下文 |
superuser |
| 变量类型 |
bool |
| 来源 |
默认 |
| 最小值 |
|
| 最大值 |
|
| 枚举值 |
|
| 启动值 |
off |
| 重置值 |
off |
| 源文件 |
|
| 源行 |
|
文档:zero_damaged_pages
zero_damaged_pages (PostgreSQL 8.4)
| 设置 |
off |
| 单位 |
|
| 类别 |
开发者选项 |
| 简短描述 |
在损坏的页面头之后继续处理。 |
| 扩展描述 |
检测到损坏的页面头通常会导致 PostgreSQL 报告错误并中止当前事务。将 zero_damaged_pages 设置为 true 会使系统转而报告警告,清零损坏的页面,并继续处理。这种行为将破坏数据,即损坏页面上的所有行。 |
| 上下文 |
superuser |
| 变量类型 |
bool |
| 来源 |
默认 |
| 最小值 |
|
| 最大值 |
|
| 枚举值 |
|
| 启动值 |
off |
| 重置值 |
off |
| 源文件 |
|
| 源行 |
|
文档:zero_damaged_pages
zero_damaged_pages (PostgreSQL 8.3)
| 设置 |
|
| 单位 |
|
| 类别 |
开发者选项 |
| 简短描述 |
在损坏的页面头之后继续处理。 |
| 扩展描述 |
检测到损坏的页面头通常会导致 PostgreSQL 报告错误并中止当前事务。将 zero_damaged_pages 设置为 true 会使系统转而报告警告,清零损坏的页面,并继续处理。这种行为将破坏数据,即损坏页面上的所有行。 |
| 上下文 |
superuser |
| 变量类型 |
bool |
| 来源 |
默认 |
| 最小值 |
|
| 最大值 |
|
文档:zero_damaged_pages
zero_damaged_pages (PostgreSQL 8.2)
| 设置 |
|
| 单位 |
|
| 类别 |
开发者选项 |
| 简短描述 |
在损坏的页面头之后继续处理。 |
| 扩展描述 |
检测到损坏的页面头通常会导致 PostgreSQL 报告错误并中止当前事务。将 zero_damaged_pages 设置为 true 会使系统转而报告警告,清零损坏的页面,并继续处理。这种行为将破坏数据,即损坏页面上的所有行。 |
| 上下文 |
superuser |
| 变量类型 |
bool |
| 来源 |
默认 |
| 最小值 |
|
| 最大值 |
|
文档:zero_damaged_pages
变更历史