每次数据库还原结束,将建立一条新的时间表,以识别还原之后生成的 WAL日志,因为数据库恢复而导致的不同阶段的 wal日志所生成的关于时间的记录被称作是时间线,时间线和日志序号组合起来就是wal日志文件名。 000000010000000000000001 中前八位 00000001 表示的就是数据库的时间线。
数据库初始化后,默认时间线是1,随着数据库系统的运行,新时间线会在以下两种情况下产生: 以时间点为基础恢复数据库时、发生主备切换时。每个时间线都是独立的分支,不同时间线内的操作不会互相影响。
而这个时间轴,则是用来在发生未知的灾难时,让数据库管理者根据基本备份和 Wal日记(包括存档的),将数据库中的任何一项还原到故障发生之前的状态。
KingbaseES每次创建新的时间线上,就创建一个以. history为后缀的“time line”档案,该档案的内容就是从原来的时间线 history档案中添加的目前的时间线上转换记录。
使用select timeline_id from pg_control_checkpoint(); 或者使用sys_controldata 命令查询数据库系统当前时间线。