环境:

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的更多相关文章

  1. 备库搭建后,进入备库报错psql: FATAL: the database system is starting up

        备库搭建后,进入备库报错psql: FATAL:  the database system is starting up  原因:备库配置文件没有hot_standby = on   mast ...

  2. yii2安装配置完成后,网页打开报错yii\web\Request::cookieValidationKey must be configured with a secret key

    下载了Yii2.0的basic版,配置好nginx之后,浏览器访问,出现如下错误: Invalid Configuration – yii\base\InvalidConfigException yi ...

  3. 重启虚拟机后,再次重启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 ...

  4. windows下配置redis集群,启动节点报错:createing server TCP listening socket *:7000:listen:Unknown error

    windows下配置redis集群,启动节点报错:createing server TCP listening socket *:7000:listen:Unknown error 学习了:https ...

  5. 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 ...

  6. Springboot项目 配置数据库连接属性后,启动项目报错

    Springboot项目 配置数据库连接属性后,启动项目报错,错误如下: 错误原因分析: 1.连接信息配置错误 当使用properties为配置文件时,如图所示,上面的 spring.datasour ...

  7. tidb集群某个节点报错之:node_exporter-9100.service failed

    今天启动集群tidb时出现一个错误,是某个tikv节点报错:node_exporter-9100.service  failed 一个节点的问题会导致整个集群启动失败.去此节点下的日志文件中查找,发现 ...

  8. FastDFS整合nginx后,nginx一直报错

    FastDFS整合nginx后,nginx一直报错: 报错内容: [2018-06-11 09:41:21] ERROR - file: ../common/fdfs_http_shared.c, l ...

  9. Python3安装Celery模块后执行Celery命令报错

    1 Python3安装Celery模块后执行Celery命令报错 pip3 install celery # 安装正常,但是执行celery 命令的时候提示没有_ssl模块什么的 手动在Python解 ...

随机推荐

  1. Action<>和Func<> 委托【代理】

    C#中的Action<>和Func<> 其实他们两个都是委托[代理]的简写形式. 一.[action<>]指定那些只有输入参数,没有返回值的委托 Delegate的 ...

  2. Linux 指令

    cat cdchmod chowncp cut 名称:cat使用权限:所有使用者使用方式:cat [-AbeEnstTuv] [--help] [--version] fileName说明:把档案串连 ...

  3. lr各种问题以及解决办法

    LR 脚本为空的解决方法: 1.去掉ie设置中的第三方支持取消掉 2.在系统属性-高级-性能-数据执行保护中,添加loadrunner安装目录中的vugen.exe文件 遇到flight界面为空的解决 ...

  4. RLP编码

    RLP(Recursive Length Prefix, 递归长度前缀编码),是Ethereum中对象序列化的一个主要的编码方式,其目的是对任意嵌套的二进制数据的序列进行编码. RLP的目的仅仅是编码 ...

  5. 读javascript高级程序设计02-变量作用域

    一. 延长作用域链 有些语句可以在作用域前端临时增加一个变量对象,该变量对象在代码执行完成后会被移除. ①with语句延长作用域. function buildUrl(){ var qs=" ...

  6. hdu 1008 注意同层情况

    #include<iostream> using namespace std; int main() { int n; ]; while(cin>>n) { ,m=; ) br ...

  7. 自己封装的一个java图片验证码

    验证码生成器: package com.lz.Tools; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; ...

  8. UDK:AdventureKit 攀爬系统

    [目标] AdventureKit攀爬系统 [思路] [步骤] 1 拷贝 2 设置config,UDKGame\Config\DefaultEngine.ini 添加包 [UnrealEd.Edito ...

  9. 美女程序员是如何将QQ转换成题目中那串数字的--读博文《找女神要QQ号码》

    我只能说好好的端午节你们不约么?,还在这里写代码?我也是够无聊的,下班了不走也在这跟风写着玩!<找女生要QQ号码原文>原文链接http://www.cnblogs.com/iforever ...

  10. iOS开发网络篇—使用ASI框架进行文件下载

    iOS开发网络篇—使用ASI框架进行文件下载 说明:本文介绍iOS网络编程中经常用到的框架ASI,如何使用该框架进行文件的下载. 一.简单介绍 代码示例: #import "YYViewCo ...