首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >恢复基本备份的正确方法

恢复基本备份的正确方法
EN

Database Administration用户
提问于 2020-09-21 10:15:30
回答 1查看 263关注 0票数 0

我们每天备份postgres,它以tarred (gz)基备份的形式出现。我需要将它还原到相同版本的另一个db中。然而,我对我读到的关于做这件事的文章感到困惑。postgres DB的版本为8.2.4。所采取的主要步骤如下:

代码语言:javascript
运行
复制
rm -rf /var/lib/postgresql/10/main/*
cp -r /basebackup/* /var/lib/postgresql/10/main/
rm -rf /var/lib/postgresql/10/main/pg_wal/*

因此,在我的例子中,postgresql数据目录是/usr/local/pgsql824 824/ data。在上面的命令中,我认为这必须是/var/lib/postgresql/main。我已经将tar.gz基备份解锁到/usr/local/temp中。因此,我假设这个路径在上面的命令中是/basebackup。如果我错了,请纠正我。

现在,出现了"recovery.conf“文件的部分。以下是本文给出的文件内容:

代码语言:javascript
运行
复制
vim /var/lib/postgresql/10/main/recovery.conf
restore_command = 'cp /wal_archive/%f "%p"'
recovery_target_lsn = '3/72658818'

如果我已经将基本备份的内容解锁到/usr//wal_archive/temp中,那么"/wal_archive“的目的是什么?这就是我不确定的地方。

这是全文的链接:

https://severalnines.com/database-blog/point-time-postgresql-database-restoration

我只需要清楚地解释如何将基本备份还原到新的数据库数据目录。

EN

回答 1

Database Administration用户

发布于 2020-09-21 14:07:36

通常,没有进一步描述的基本备份意味着pg_basebackup所采取的东西。但这在8.2中并不存在,所以这里还不清楚“基本备份”意味着什么。这并不是说它是非常明确的,因为pg_basebackup有许多选择。

你链接到的那篇文章是为了及时恢复。显然,基本备份不能包括在进行备份时尚未发生的更改。需要WAL存档将数据库从备份的结束时间前滚到所需的时间点。如果您实际上不想执行PITR,而只是恢复到基本备份的结束时间,那么您将不需要recovery.conf,也不需要执行rm -rf /var/lib/postgresql/10/main/pg_wal/*。(尽管您确实运行了该命令,但无论如何也不会造成任何损害,因为当时所讨论的目录没有被称为“pg_wal”。)你只要启动数据库。

票数 0
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/275810

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档