在使用PostgreSQL高可用集群过程中发现一个很难解决的问题,先记录在这里。

我们知道在PG流复制集群中,如果主库死掉了,备库要提升为主库有两种方法:

1)pg_ctl promote

2)创建对应的trigger文件:touch " " /var/lib/pgsql/10/data/.tfile

但是这两种方法会使得备库提升为主的同时,时间线会+1,在pg_wal中可以看到:

-bash-4.1$ ls -rlth pg_wal/
total 49M
drwx------ postgres postgres .0K May : archive_status
-rw------- postgres postgres 16M May :
-rw------- postgres postgres 16M May :
-rw------- postgres postgres May : .history
-rw------- postgres postgres 16M May :

但是如果我们不想让时间线+1,应该怎么提升为主节点呢?

为什么不想让时间线+1呢? 如果主库再起来时,需要作为备节点了,由于可能发生日志分支,需要使用pg_rewind找到相同日志的点,当做完rewind之后,发现无法启动主库。因为他们相同的点在时间线+1前的时间线中,而新的主库的时间线已经+1了。就无法创建同步,目前只能重做主库,但是如果数据量很大的时候,就很麻烦!

思路:

1)看看官方文档中有没有方法。

2)看看能不能提一个BUG。

PostgreSQL提升为主库 时间线加一的问题的更多相关文章

  1. postgreSQL 时间线

    “时间线”(Timeline)是PG一个很有特色的概念,在备份恢复方面的文档里面时有出现.但针对这个概念的详细解释却很少,也让人不太好理解,我们在此仔细解析一下. 时间线的引入 为了理解引入时间线的背 ...

  2. postgresql从库提升为主库

    一.停主库 1.查看当前连接 select pid,datname,usename,client_addr,client_port, application_name from pg_stat_act ...

  3. json,异步加载,时间线

    JSON是一种传输数据的格式 JSON.stringify(obj);  obj--string JSON.parse(str);   string-->obj      

  4. JS实现页面复制文字时自动加版权

    经亲自实践,尝试了各种方法,目前可行的方法主要有如下两种: 可以在任何运行使用js代码的网站中使用,比如本人在自己的博客园博客中实现了一下,读者您可亲自在本人博客上测试. 方法1: <scrip ...

  5. 如何解决Angular网页内嵌推特时间线无法正常显示

    我最近解决了一个折磨了我好久但是解决方法却只是添加两三行代码的问题.我没有在网上找到合适的解决方案,最后是我根据官方网站和很多的帖子里的部分代码得到的启发,尝试了很久之后得到的解决方法.因为过程实在是 ...

  6. Python图表数据可视化Seaborn:3. 线性关系数据| 时间线图表| 热图

    1. 线性关系数据可视化 lmplot( ) import numpy as np import pandas as pd import matplotlib.pyplot as plt import ...

  7. WPF性能调试系列 – 应用程序时间线

    WPF性能调试系列文章: WPF页面渲染优化:Application Timeline WPF页面业务加载优化:Ants Performance Profiler WPF内存优化:Ants Memor ...

  8. pg_rewind 源端时间线发生改变 同步失败

    master-standby情况下,发生如下行为: 1.master停掉后,standby做为新的master(可能存在部分事物没有同步到standby中). 2.新master运行过程中出错,进行恢 ...

  9. Layui选项卡、进度条、面板、徽章、时间线、辅助元素

    Layui选项卡.进度条.面板.徽章.时间线.辅助元素 Tab选项卡 - 页面元素    导航菜单可应用于头部和侧边,Tab选项卡提供多套风格,支持响应式,支持删除选项卡等功能.面包屑结构简单,支持自 ...

随机推荐

  1. CSS Link(链接)

    CSS Link(链接) 不同的链接可以有不同的样式. 一.链接样式 链接的样式,可以用任何CSS属性(如颜色,字体,背景等). 特别的链接,可以有不同的样式,这取决于他们是什么状态. 这四个链接状态 ...

  2. 《Java程序设计》实验4

    20145318 <Java程序设计>实验4 实验内容 安装Android Studio 运行安卓AVD模拟器 使用Android运行出模拟手机并显示自己的学号 实验过程 安装Androi ...

  3. 20145331 《Java程序设计》第7周学习总结

    20145331 <Java程序设计>第7周学习总结 教材学习内容总结 第十二章 Lambda 1.Lambda定义:一个不用被绑定到一个标识符上,并且可能被调用的函数. 2.在只有Lam ...

  4. Java数字证书操作

    为服务器生成证书 keytool -genkey -v -alias tomcat -keyalg RSA -keystore D:\tomcat.keystore -validity 36500 为 ...

  5. 解题报告:hdu1012

    2017-09-07 21:46:53 writer:pprp 写一下水题,调节一下心情~ /* @theme: hdu 1012 u calculate e @writer:pprp @begin: ...

  6. Mac Homebrew安装php56 到phpstorm过程问题汇总

    Mac自带版本是php5.5,本来是用homebrew安装xdebug 命令:brew install php55-xdebug 但是安装之后使用phpstorm还是有问题.php -v 并没有显示有 ...

  7. JavaScript高级程序设计-读书笔记(4)

    第11章 DOM扩展 1.选择符API Selector API Level 1 的核心是两个方法:querySelector()和querySelectorAll().在兼容的浏览器中,可以通过Do ...

  8. Oracle Solaris 11.4 GA 版发布,这将是 Solaris 的绝唱

    美国当地时间8月28日,Oracle 正式宣布推出 Oracle Solaris 11.4 GA 稳定版,距离上个版本 11.3 的发布已过去近三年.Oracle 的产品管理总监 Scott Lynn ...

  9. 基于dapper的通用泛型分页

    1.定义一个用来装载适合所有类的分页结果类 public class PageDataView<T> { private int _TotalNum; public PageDataVie ...

  10. 迷宫实现递归版本C++

    迷宫实现递归版本C++ 问题描述: //////////////////////////////////////////////////////////////题目:迷宫求解问题. 大致思路: //1 ...