PostgreSQL参数—recovery_target_timeline
PostgreSQL参数—recovery_target_timeline
参数说明
postgres=# show recovery_target_timeline;
recovery_target_timeline
--------------------------
1
(1 row)
postgres=# \x
Expanded display is on.
postgres=# select * from pg_settings where name = 'recovery_target_timeline';
-[ RECORD 1 ]---+----------------------------------------------
name | recovery_target_timeline
setting | 1
unit |
category | Write-Ahead Log / Recovery Target
short_desc | Specifies the timeline to recover into.
extra_desc |
context | postmaster
vartype | string
source | configuration file
min_val |
max_val |
enumvals |
boot_val | latest
reset_val | 1
sourcefile | /home/postgres/pgdata14/pg_rman_recovery.conf
sourceline | 4
pending_restart | f
postgres=#
复制
参数含义
recovery_target_timeline ( ``string)
指定恢复到特定时间轴。默认设置是沿着执行基本备份时的当前时间线恢复。将此设置为 latest 将恢复到存档中找到的最新时间轴,这在备用服务器中很有用。
除此之外,您只需要在复杂的重新恢复情况下设置此参数,您需要返回到在时间点恢复后到达的状态。
在通过pg_basebackup进行备份的时候添加参数“-R”就可以在备中自动产生recovery.conf文件,在这里就可以指定recovery_target_timeline=’‘和recovery_target_time=’'参数来进行精准恢复了,而这里的recovery_target_timeline参数可以直接填写时间线产生的“历史文件”名字用来指定恢复到哪一条时间线上去。
[postgres@lyp pg_wal]$ ll
total 114696
-rw-------. 1 postgres postgres 16777216 Feb 17 23:01 00000002000000000000000E
-rw-------. 1 postgres postgres 16777216 Feb 17 22:56 00000002000000000000000F
-rw-------. 1 postgres postgres 16777216 Feb 17 22:51 000000020000000000000010
-rw-------. 1 postgres postgres 16777216 Feb 17 22:51 000000020000000000000011
-rw-------. 1 postgres postgres 16777216 Feb 17 22:51 000000020000000000000012
-rw-------. 1 postgres postgres 16777216 Feb 17 22:51 000000020000000000000013
-rw-------. 1 postgres postgres 16777216 Feb 17 22:51 000000020000000000000014
-rw-------. 1 postgres postgres 50 Feb 17 22:56 00000002.history
drwx------. 2 postgres postgres 88 Feb 17 22:56 archive_status
[postgres@lyp pg_wal]$
复制
当我们基于时间点的还原后,时间线便会加1,并创建一个名为NewTimelineID.history的新文件。00000002.history即为时间线产生的“历史文件”名字。
[postgres@lyp ~]$ cat /home/postgres/pgdata14/pg_rman_recovery.conf # added by pg_rman 1.3.14 restore_command = 'cp /home/postgres/pgdata14/archive/%f %p' recovery_target_time = '2022-02-17 22:50:19' recovery_target_timeline = '1' [postgres@lyp ~]$
复制
开启数据库之后通过读取归档日志就会将数据库恢复到’2022-02-17 22:50:19’这个时间点。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
👍
2年前

评论
有用
2年前

评论
您好,您的文章已入选合格奖,10墨值奖励已经到账请查收!
❤️我们还会实时派发您的流量收益。
3年前

评论
相关阅读
王炸!OGG 23ai 终于支持从PostgreSQL备库抽取数据了
曹海峰
429次阅读
2025-03-09 12:54:06
明明想执行的SQL是DELETE、UPDATE,但为什么看到的是SELECT(FDW的实现原理解析)
小满未满、
371次阅读
2025-03-19 23:11:26
PostgreSQL初/中/高级认证考试(3.15)通过考生公示
开源软件联盟PostgreSQL分会
335次阅读
2025-03-20 09:50:36
IvorySQL 4.4 发布 - 基于 PostgreSQL 17.4,增强平台支持
通讯员
216次阅读
2025-03-20 15:31:04
套壳论
梧桐
209次阅读
2025-03-09 10:58:17
命名不规范,事后泪两行
xiongcc
194次阅读
2025-03-13 14:26:08
openHalo问世,全球首款基于PostgreSQL兼容MySQL协议的国产开源数据库
严少安
181次阅读
2025-04-07 12:14:29
PG vs MySQL 执行计划解读的异同点
进击的CJR
137次阅读
2025-03-21 10:50:08
版本发布| IvorySQL 4.4 发布
IvorySQL开源数据库社区
126次阅读
2025-03-13 09:52:33
宝藏PEV,助力你成为SQL优化高手
xiongcc
124次阅读
2025-03-09 23:34:23