ITPub博客

首页 > 数据库 > 国内数据库 > HAC集群搭建流复制后启动集群服务出现备库日志号比主库多1

HAC集群搭建流复制后启动集群服务出现备库日志号比主库多1

原创 国内数据库 作者:瀚高PG实验室 时间:2022-07-19 14:51:24 0 删除 编辑
环境
系统平台: N/A
版本: 4.5
症状

主库含有自定义表空间,手动还原备库后直接启动hac,备库日志号比主库多1。


1.

主库创建好自定义表空间

image.png


2. 备库创好对应路径进行还原

pg_basebackup -h 192.168.32.128 -p 5866 -U sysdba -D /opt/HighGo4.5.6-see/data -Fp -P -Xs -R -v -l highgobak -T "/opt/HighGo4.5.6-see/data/tbs1"=/highgo/tbs1


3.启动hac后查询集群状态和流复制状态

image.png

image.png


4.比较两库的日志号

主库

image.png

备库

image.png


5.查看备库数据库日志报错

image.png

started streaming WAL from primary at 0/14000000 on timeline 5

could not receive data from WAL stream: ERROR:  requested starting point 0/14000000 is ahead of the WAL flush position of this server 0/1301C5B0




问题原因

手动还原备库后直接使用hac接管会导致备库日志号多1

解决方案

解决方法:


  1. 手动还原备库

    image.png

  2. 还原备库完成后手动启动一次备库

    image.png

  3. 查看备库日志 发现正常

    image.png

  4. 在主库查询流复制状态正常

    image.png

  5. 比较两库日志号一致

    主库

    image.png

    备库

    image.png

  6. pg_ctl stop 手动关闭备库后  启动hac

    image.png

  7. 在主库查询状态 恢复正常

    image.png

———————————————————————————————————————————————————————


经验证发现,无论主库是否含有自定义表空间,备库手动pg_basebackup还原后直接使用hac服务启动接管数据库,均会出现备库日志号比主库多1的情况。

在手动pg_basebackup还原备库后,均需pg_ctl start手动启动数据库检查状态后,关闭数据库,再使用hac服务接管。


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69994931/viewspace-2906460/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
瀚高PG实验室(Highgo PG Lab)依托于瀚高DBA运维团队及瀚高数据库PG内核研发团队,旨在深入研究PostgreSQL技术、使用技巧、内核探秘、PG教学等,并进行分享。欢迎大家关注、交流。

注册时间:2021-02-18

  • 博文量
    184
  • 访问量
    126055