我的编程空间,编程开发者的网络收藏夹
学习永远不晚

PG启动恢复机制

短信预约 信息系统项目管理师 报名、考试、查分时间动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

PG启动恢复机制

PG启动恢复机制

生产一个pg库停了后,起库的时候则需要很长时间,记录一下相应的原理。

  1. 如backup_label文件不存在(当前没有在做备份),正情况情况下, 在恢复的开始, 服务器首先读取pg_control,然后读取检查点记录; 接着它通过从检查点记录里标识的日志位置开始向前扫描执行 REDO操作。 因为数据页的所有内容都保存在检查点之后的第一个页面修改的日志里(假设full_page_writes没有被禁用), 所以自检查点以来的所有变化的页都将被恢复到一个一致的状态
  2. 数据库正做备份,pg库宕机了,此时数据目录会生成backup_label文件,则会读取backup_lable 中的check_point 点,以及备份期间记录的相应日志,对于这个文件的描述如下: 见class="lazy" data-src/backend/access/transam/xlog.c


/*
* read_backup_label: check to see if a backup_label file is present
*
* If we see a backup_label during recovery, we assume that we are recovering
* from a backup dump file, and we therefore roll forward from the checkpoint
* identified by the label file, NOT what pg_control says. This avoids the
* problem that pg_control might have been archived one or more checkpoints
* later than the start of the dump, and so if we rely on it as the start
* point, we will fail to restore a consistent database state. 

backup_label 文件的内容如下:


START WAL LOCATION: 472D/82000028 (file 000000060000472D00000082)
CHECKPOINT LOCATION: 472D/82150EB8
BACKUP METHOD: pg_start_backup
BACKUP FROM: master
START TIME: 2020-05-23 07:23:18 HKT
LABEL: 2020-05-23 07:23:17 with pg_rman

 在这种情况下,如果有pg_xlog或pg_wal 下面没有相应的 从pg_start_backup()以来的 日志启库时会报错,需要确认是不是恢复备份,如果不是则要remove backup_label 文件。

LOG: could not open file "pg_xlog/000000020000000000000084" (log file 0, segment 132): No such file or directory
LOG: invalid checkpoint record
PANIC: could not locate required checkpoint record
HINT: If you are not restoring from a backup, try removing the file "/POSTGRES/data/PG820/backup_label".

生产环境中,如果备份有很多归档日志,起库的时候则需要很长时间。

参考:https://www.postgresql.org/message-id/D960CB61B694CF459DCFB4B0128514C293CEB7@exadv11.host.magwien.gv.at

 

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

PG启动恢复机制

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

PG启动恢复机制

生产一个pg库停了后,起库的时候则需要很长时间,记录一下相应的原理。 如backup_label文件不存在(当前没有在做备份),正情况情况下, 在恢复的开始, 服务器首先读取pg_control,然后读取检查点记录; 接着它通过从检查点记录里标识的日志位置
PG启动恢复机制
2019-05-23

HBase的Region Server故障自动恢复机制详解

HBase的Region Server故障自动恢复机制主要依赖于其日志恢复(Log Recovery)和分布式日志分割(Distributed Log Splitting)技术,以确保在Region Server发生故障时,能够自动恢复数据
HBase的Region Server故障自动恢复机制详解
2024-10-22

如何恢复Windows10快速启动栏

本篇内容主要讲解“如何恢复Windows10快速启动栏”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何恢复Windows10快速启动栏”吧!想必大家都知道,在Windows操作系统中有一个快速
2023-06-07

MongoDB复制集与故障恢复机制是什么

MongoDB复制集是一组维护相同数据集的MongoDB实例。其中有一个主节点(primary)负责处理所有的写操作,其他节点是从节点(secondary),负责复制主节点上的数据并处理读操作。复制集还包括一个仲裁节点(arbiter),用
MongoDB复制集与故障恢复机制是什么
2024-05-07

Win7 0xc000000e启动错误恢复方法

转到安装Windows 7的驱动器中(如“F:&rdphpquo;), 并执行命令: F:\Windows\System32> bcdedit /set {default} osdevice boot 命令成功完成。www.cp
2023-05-25

Windows中使用和启动故障恢复控制台的方法怎么用

Windows中使用和启动故障恢复控制台的方法怎么用,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。在我们日常使用电脑中,Windows操作系统出现系统故障已经是一件很常见的事情
2023-06-14

深入剖析MongoDB的数据复制与故障恢复机制

深入剖析MongoDB的数据复制与故障恢复机制引言:随着大数据时代的到来,数据的存储和管理变得愈发重要。在数据库领域,MongoDB作为一种广泛应用的NoSQL数据库,其数据复制和故障恢复机制对于保障数据的可靠性和高可用性至关重要。本文将深
深入剖析MongoDB的数据复制与故障恢复机制
2023-11-04

修复恢复Windows7、XP双系统启动菜单的方法

我最早在C盘装了Windows XP,然后接着在D盘装的Windows7。这样用着一切正常,因为我原来备份的有XP系统,所以我用一键还原把C盘给还原了,但问题也就出来了,在系统启动项那只有Windows XP和一键还原两个选项,没有办法进入
2023-06-01

Centos启动后怎么将它恢复到显示详细启动过程模式

这篇文章主要讲解了“Centos启动后怎么将它恢复到显示详细启动过程模式”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Centos启动后怎么将它恢复到显示详细启动过程模式”吧!CentOS等
2023-06-10

Win10恢复快速启动栏设置(图文教程)

很多用户在升级Win10系统发现快速启动栏不见了,想找回之前XP样式的快速启动栏,Win10快速启动栏不见了如何恢复?这里小android编介绍一个Win10快速gWtuvE启动栏设置方法,可以轻松实现。 操作步骤: 1、首先在任务栏的空白
2023-05-22

windows u盘启动盘怎么恢复成普通盘

这篇文章主要介绍“windows u盘启动盘怎么恢复成普通盘”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“windows u盘启动盘怎么恢复成普通盘”文章能帮助大家解决问题。u盘启动盘恢复成普通盘方
2023-07-01

Mysql无法启动情况下怎么恢复数据

如果MySQL无法启动,但数据文件仍然存在,您可以尝试以下方法来恢复数据:检查错误日志:首先查看MySQL的错误日志文件,通常位于MySQL的数据目录下,查看是否有特定的错误信息提示。检查MySQL配置文件:确保MySQL的配置文件(通常是
Mysql无法启动情况下怎么恢复数据
2024-04-09

win10开机怎么强制进入恢复模式

要强制进入Windows 10恢复模式,您可以按下以下步骤操作:1. 在Windows 10开机时,按住Shift键,并同时点击电源按钮,然后选择“重新启动”选项。2. 系统会重新启动,进入“选择一个选项”屏幕。3. 在“选择一个选项”屏幕
2023-09-29

编程热搜

目录