首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >postgresql的时间点恢复

postgresql的时间点恢复
EN

Stack Overflow用户
提问于 2018-08-10 09:55:23
回答 1查看 932关注 0票数 0

在恢复测试中我们需要一些帮助。我们遵循了以下步骤,但是在创建了recovery.conf文件并重新启动机器之后,我们的DB就被破坏了,而且还没有启动。请看下面的步骤,并帮助我们分析哪里出了问题。我们已经使用脱机postgresql安装程序来设置数据库。所需的配置,如wal_level=hot_stanby、archive_mode=on和postgresql.conf中的archive_server=‘cp %p /mnt/server/存档/%f’也被正确设置。

  1. 在DB设置之后,我们创建了一个tablcespace、db并将db映射到了表空间。还创建了一些表,以在pg_wal和归档目录(mnt/server/存档)中生成事务文件。
  2. 选择pg_start_backup('TestPITR');
  3. 对Postgresql数据目录(opt/PostgreSQL/10/ data )进行备份(Tar)>>tar zcf backup20180810.tar数据/
  4. 选择pg_stop_backup();
  5. 创建了更多的表并记下了它们的时间戳(对于PITR,它将以recovery_target_time的形式添加到recovery_target_time文件中)
  6. 停止了DB>>service PostgreSQL10停止
  7. 创建了一个新的目录>>mkdir pgbackup
  8. 将tar文件移到pgbackup目录>>mv backup20180810.tar /opt/PostgreSQL/10/pgbackup中
  9. 将存档文件复制到pgbackup directory>> cp -r /mnt/server/存档/opt/PostgreSQL/10/pgbackup/
  10. 将旧的数据目录( opt/PostgreSQL/10/ data )重命名为bad.data >>> mv data bad.data (现在为opt/PostgreSQL/10/ bad.data)
  11. 取消步骤2>>tar -xvf back 20180810中的回退
  12. 将数据目录移到旧路径>>>mv / opt/PostgreSQL/10/ pgbackup/ data / /opt/PostgreSQL/10/ (现在我有了opt/PostgreSQL/10/data-从tar文件派生并在pg_wal中使用旧事务日志)

13将更新的pg_wal日志从bad.data复制到数据>>>cp -r /opt/PostgreSQL/10/bad.data/pg_wal/0* /opt/PostgreSQL/10/ data /pg_wal

  1. 启动数据库>>服务PostgreSQL10start(我们的db工作正常)
  2. 在数据文件夹>>opt/PostgreSQL/10/ data中创建一个recovery.conf文件--将权限和用户设置为postgres

我们的recovery.conf文件有两个参数。recovery_target_time是从步骤5开始的。

  1. restore_command = 'cp /opt/PostgreSQL/10/pgbackup/存档/%f %p‘
  2. recovery_target_time =‘2018-08-1002:56:31’
  3. 重新启动db server>>服务postgresql-10重新启动

它不会重新启动,日志文件夹中也没有日志条目(opt/PostgreSQL/10/data/ log ),看起来它在重新启动后已经停止创建日志。

EN

回答 1

Stack Overflow用户

发布于 2018-08-10 12:37:01

步骤14和15是错误的。您必须在启动服务器之前创建recovery.conf

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

https://stackoverflow.com/questions/51783853

复制
相关文章

相似问题

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