配置recovery_min_apply_delay后重启standby节点报错:psql: FATAL: the database system is starting up
环境:
pg版本:PostgreSQL 9.4.4 on x86_64
系统版本:CentOS release 6.6
linux内核版本:2.6.32-504.8.1.el6.x86_64
今天测试standby延时复制时,在standby节点配置了recovery_min_apply_delay参数,刚开始设置的是5min,但重启完standby节点后,连接数据库直接报:psql: FATAL: the database system is starting up 错误,我一开始以为是节点中的backup标签有问题,之前曾经碰到过这个报错,是由backup的标签引起的,当时是删掉该标签就可以了,然后查看错误日志,错误日志中没有和backup标签有关的报错信息。怀疑是recovery_min_apply_delay参数的问题,将recovery_min_apply_delay从recovery.conf中去掉,重启,可以连接,重新调整recovery_min_apply_delay值得大小为5s,也可以连接,然后再设为5min,发现仍然报psql: FATAL: the database system is starting up错误,查阅官方文档,没有这方面的说明。
下面是测试内容:
1、将recovery_min_apply_delay参数设为5s:
recovery_min_apply_delay=5s
recovery_target_timeline = 'latest'
standby_mode = on
primary_conninfo = 'host=192.168.173.43 port=1921 user=rep keepalives_idle=60' # e.g. 'host=localhost port=5432'
重启standby节点:
pg_ctl restart -m fast
可以正常连接:
postgres@db-----> psql
psql (9.4.)
Type "help" for help. postgres=#
2、将recovery_min_apply_delay参数设为5min:
recovery_min_apply_delay=5min
recovery_target_timeline = 'latest'
standby_mode = on
primary_conninfo = 'host=192.168.173.43 port=1921 user=rep keepalives_idle=60' # e.g. 'host=localhost port=5432'
然后重启standby节点,连接数据库:
postgres@db-----> psql
psql: FATAL: the database system is starting up
postgres@db----->
无法连接。
在大约等待5min左右后,可以正常连接。
注:
1、需要等待大约recovery_min_apply_delay的时间后,才可以正常连接。
2、在邮件列表中也有这个问题的疑问,但没有解答:
http://www.postgresql.org/message-id/20151111155006.2644.84564@wrigleys.postgresql.org
关于这个问题,如果大家有知道的,希望可以说一下。非常感谢。
补充:
今天查看邮件列表,发现这个问题已由Fujii Masao在今年3月5号修复,之前是设置延时参数后,即使主从状态是一致的,standby节点也无法访问,现在提交补丁后,即使重设该参数,当主从处于一致状态时,则standby就可以访问。

详细链接:
http://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=d34794f7d5566effd342dd0ebaca3de3b48656f0
配置recovery_min_apply_delay后重启standby节点报错:psql: FATAL: the database system is starting up的更多相关文章
- 备库搭建后,进入备库报错psql: FATAL: the database system is starting up
备库搭建后,进入备库报错psql: FATAL: the database system is starting up 原因:备库配置文件没有hot_standby = on mast ...
- yii2安装配置完成后,网页打开报错yii\web\Request::cookieValidationKey must be configured with a secret key
下载了Yii2.0的basic版,配置好nginx之后,浏览器访问,出现如下错误: Invalid Configuration – yii\base\InvalidConfigException yi ...
- 重启虚拟机后,再次重启nginx会报错:[emerg] open() "/var/run/nginx/nginx.pid" failed (2: No such file or directory)
问题: 重启虚拟机后,再次重启nginx会报错: open() "/var/run/nginx/nginx.pid" failed (2: No such file or dire ...
- windows下配置redis集群,启动节点报错:createing server TCP listening socket *:7000:listen:Unknown error
windows下配置redis集群,启动节点报错:createing server TCP listening socket *:7000:listen:Unknown error 学习了:https ...
- Hadoop0.20.203.0在关机重启后,namenode启动报错(/dfs/name is in an inconsistent state)
Hadoop0.20.203.0在关机重启后,namenode启动报错: 2011-10-21 05:22:20,504 INFO org.apache.hadoop.hdfs.server.comm ...
- Springboot项目 配置数据库连接属性后,启动项目报错
Springboot项目 配置数据库连接属性后,启动项目报错,错误如下: 错误原因分析: 1.连接信息配置错误 当使用properties为配置文件时,如图所示,上面的 spring.datasour ...
- tidb集群某个节点报错之:node_exporter-9100.service failed
今天启动集群tidb时出现一个错误,是某个tikv节点报错:node_exporter-9100.service failed 一个节点的问题会导致整个集群启动失败.去此节点下的日志文件中查找,发现 ...
- FastDFS整合nginx后,nginx一直报错
FastDFS整合nginx后,nginx一直报错: 报错内容: [2018-06-11 09:41:21] ERROR - file: ../common/fdfs_http_shared.c, l ...
- Python3安装Celery模块后执行Celery命令报错
1 Python3安装Celery模块后执行Celery命令报错 pip3 install celery # 安装正常,但是执行celery 命令的时候提示没有_ssl模块什么的 手动在Python解 ...
随机推荐
- STM32学习笔记(六) SysTick系统时钟滴答实验(stm32中断入门)
系统时钟滴答实验很不难,我就在面简单说下,但其中涉及到了STM32最复杂也是以后用途最广的外设-NVIC,如果说RCC是实时性所必须考虑的部分,那么NVIC就是stm32功能性实现的基础,NVIC的难 ...
- Centos7下搭建LAMP平台环境 (转载)
1.启用Apache(httpd) Centos7默认已经安装httpd服务,只是没有启动.如果你需要全新安装,可以yum install -y httpd 启动服务:systemctl start ...
- org/objectweb/asm/Type异常解决办法
关于java.lang.NoClassDefFoundError: org/objectweb/asm/Type 调试SPRING MVC(或者整合SSH)的时候遇到了org/objectweb/as ...
- rabbitMQ Connection timed out
在VM中部署了一个rabbitMQ server ,在物理机上按照rabbitMQ官网上的 java的教程访问VM中的rabbitMQ报如下错误: Exception in thread " ...
- 远程实时调试手机上的Web页面
1. 安装 需要Node.js平台, 先安装好后, 打开Node.js command prompt, 通过NPM来安装 weinre npm -g install weinre 2. 启动 ...
- WCF初探-8:WCF服务承载 (上)
前言 任何一个程序的运行都需要依赖一个确定的进程中,WCF服务也不例外.如果使用WCF服务,我们就必须将服务承载于创建它并控制它的上下文和生存期的运行时环境中,承载服务环境的程序,我们称之为宿主.WC ...
- iOS开发拓展篇—音频处理(音乐播放器2)
iOS开发拓展篇—音频处理(音乐播放器2) 说明:该文主要介绍音乐播放界面的搭建. 一.跳转 1.跳转到音乐播放界面的方法选择 (1)使用模态跳转(又分为手动的和自动的) (2)使用xib并设置跳转 ...
- 【0 - 1】OC内存管理
一.内存管理概述 垃圾回收机制(GC):由系统管理内存,程序员不需要管理. OC中的垃圾回收:在OC2.0版加入垃圾回收. OC与iOS:OC有垃圾回收机制,但是iOS屏蔽了这个功能.原因:iOS运行 ...
- Servlet路径跳转1---使用相对路径和绝对路径,在页面上调用servlet的路径写法(超链接的方式和表单的方式)
课程1-13 http://www.imooc.com/video/5554 Servlet路径跳转: 绝对路径:放在任何地方都对的路径 相对路径:相对于当前资源的路径 index文件 加上/,表 ...
- VS2012 快捷键
注释: Ctrl+K+C 反注释: Ctrl+K+U 折叠代码: Ctrl+M+O 展开代码: Ctrl+M+L 在文件中查找: Ctrl+Shift+F 选 EntireSolution 删除行 ...