首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何触发PostgreSQL热备份WAL文件恢复?

如何触发PostgreSQL热备份WAL文件恢复?
EN

Stack Overflow用户
提问于 2016-11-21 11:03:37
回答 2查看 1.6K关注 0票数 1

主服务器

代码语言:javascript
复制
# postgresql.conf
wal_level = hot_standby
archive_mode = on
archive_timeout = 10
archive_command = 'test ! -f /archive/%f && cp %p /archive/%f'

备用服务器

代码语言:javascript
复制
hot_standby = on

我将主服务器中的/archive/*复制到备用服务器中的$PGDATA/pg_xlog,但没有发生任何事情。当我重新启动备用服务器时,我从服务器日志中得到错误消息:

代码语言:javascript
复制
2016-11-21 17:56:09 CST [17762-3] LOG:  invalid primary checkpoint record
2016-11-21 17:56:09 CST [17762-4] LOG:  record with zero length at 0/6000100
2016-11-21 17:56:09 CST [17762-5] LOG:  invalid secondary checkpoint record
2016-11-21 17:56:09 CST [17762-6] PANIC:  could not locate a valid checkpoint record
2016-11-21 17:56:09 CST [17761-1] LOG:  startup process (PID 17762) was terminated by signal 6: Aborted
2016-11-21 17:56:09 CST [17761-2] LOG:  aborting startup due to startup process failure

问题:

  1. 通过简单地将主服务器中的/archive/*复制到备用服务器中的$PGDATA/pg_xlog,将数据同步到备用服务器是否就足够了?
  2. 在热备份服务器中如何以及何时触发WAL文件的恢复?备用服务器是否定期检查其$PGDATA/pg_xlog目录中的新WAL文件?还是我必须手动触发?
  3. 我说的是热备份,而不是流复制;因此,我假设不必配置conninfo。我说的对吗?
  4. 在配置hot_standby = on并重新启动服务器之后,我仍然可以在没有错误的情况下执行INSERT。如何配置,使它真正的只读?
EN

回答 2

Stack Overflow用户

发布于 2016-11-21 12:03:55

这看起来很像是您没有正确初始化备用数据库。

日志文件声明PostgreSQL甚至不会开始复制,因为它无法找到一个有效的检查点。

您的备用数据目录中的backup_label文件包含什么?如果该文件不存在,这可能就是问题所在。

那个备用装置突然停止工作了还是从来没有起过作用?你到底是怎么创建备用的?

票数 3
EN

Stack Overflow用户

发布于 2016-11-21 12:54:42

您必须首先从主服务器的低级别基本备份创建备用。您不能创建一个新实例并使用pg_dumppg_restore。我猜这就是你想要做的。

进行适当的基本备份的最简单方法是使用pg_basebackup。手册中讨论了其他选项,但实际上,只需使用:

代码语言:javascript
复制
pg_basebackup -X stream -D standby_datadir_location -h master_ip

或者类似的。

只有在有了有效的基本备份之后,才能启动归档恢复或流复制。最简单的方法是启用流复制。让pg_basebackup通过传递-R标志来帮您做到这一点。

如果要进行存档恢复,则应向备用文件的recovery.conf中添加一个recovery.conf,该recovery.conf将档案从存档位置复制到备用文件。

所有这些都被手册所覆盖。

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

https://stackoverflow.com/questions/40718588

复制
相关文章

相似问题

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