4.8 处理时间线

时间线是一个您必须要知道的一个重要的概念,尤其是当您规划一个大型的设置的时候。

那么,什么是时间线呢?事实上,它是XLOG的一个分支。正常情况下,刚设置的一个数据库实例使用的时间线号为1.我们假设,我们开始复制我们的master数据库到一个slave系统。slave也会在1号时间线处操作。有些时候,您的master可能会出现故障,您的 slave将被提升为一个新的master。这是当一个时间线切换发生时的时间。现在新的master将创建它自己的事务日志。从逻辑上讲,我们想确保它的XLOG不会和其它过去一段时间的XLOG混淆。

我们如何知道时间线已经更新了呢?让我们一起来看看刚刚转换为master的系统的XLOG目录:

00000002.history

000000020000000000000006

000000020000000000000007

000000020000000000000008

XLOG文件的第一部分是有趣的事情。现在,您可以观察到,总有一个1在我们的文件名中。这不再是这样了。通过检查XLOG第一部分的文件名,您可以看到数字已经随着时间变化了(把一个slave 转换为master之后,我们已经能够到达了2号时间线)。

值得一提的是您不能简单地传送时间线为5的 XLOG到一个时间已经到达9的数据库实例。这是不可能的,它们不会走在一起。

在PostgreSQL9.3中,我们能够更加灵活地处理这些时间线。这意味着时间线改变将会放到事务日志中,slave可以很容易地遵循时间线切换。

[当级联复制和多个slave时,时间线尤其重要。毕竟,如果您的master出现故障,您必须把您的slave连接到一些服务器。]

4.9 总结

在本章,您学会了流复制。我们看到了如何创建一个流连接,配置您需要的流复制您可以做什么。我们还简要地讨论了幕后事情是如果工作的。

记住复制的确可以引起冲突也是非常重要的,这需要适当的修复。

在接下来的章节,是时候把注意力集中在同步复制了,这是合乎逻辑的下一步。您将学习没有潜在数据丢失的复制数据。

最新文章

  1. css水平垂直居中(绝对定位居中)
  2. include的用法例子,以及include+merge的用法例子
  3. ICP 算法
  4. Jmeter 学习(三)
  5. Ubuntu 远程登录服务器--ssh的安装和配置
  6. .NET使用ZXing.NET生成中间带图片的二维码
  7. linux的ulimit命令
  8. linux防火墙启动、停止、查看
  9. 【转】在XCode工程中创建bundle包
  10. c#简单的Json解析类
  11. details标签和summary标签
  12. jdbc.properties 包含多种数据库驱动链接的版本。
  13. poj 2263&& zoj1952 floyd
  14. Java FX入门
  15. MySQL通过localhost无法连接数据库的解决
  16. NTT中可用素数模数原根表
  17. APP研发录笔记
  18. How Cigna Tuned Its Spark Streaming App for Real-time Processing with Apache Kafka
  19. Python面向对象进阶和socket网络编程-day08
  20. EL表达式运算符使用

热门文章

  1. 继承QWidget的派生类控件不能设置QSS问题解决(使用style()->drawPrimitive(QStyle::PE_Widget,也就是画一个最简单最原始的QWidget,不要牵扯其它这么多东西)
  2. mysql安装,数据库连接
  3. 火狐访问IIS出现404,而Chrome可以正常访问
  4. 安装Oracle RAC 11g
  5. maven关于pom文件配置详解(转载)
  6. C# WindowsAPI
  7. PCL例程调试错误之缺少flann-config.cmake
  8. SpringCloud学习笔记(5)----Spring Cloud Netflix之Eureka的服务认证和集群
  9. GCD - Extreme (II) UVA - 11426 欧拉函数_数学推导
  10. HDU-5685 Problem A 求乘法逆元