美文网首页
PostgreSQL 12.3流复制断点恢复

PostgreSQL 12.3流复制断点恢复

作者: 乐维_lwops | 来源:发表于2021-03-23 10:31 被阅读0次

    1.问题描述:

    两PostgreSQL节点采用异步流复制对数据进行同步,由于需要测试一些东西,对主库设备进行了频繁的重启操作,结果导致流复制中断,且无法自行恢复,主、备库开始产生数据差。

    2.解决思路:

    删除备库数据目录下所有文件,使用PostgreSQL自带的备份工具pg_basebackup,把主库数据库目录下所有文件拉取到备库数据目录下,然后直接启动备库服务即可。

    3.处理过程:

    3.1.查看主库状态,保证主库服务处于运行状态;

    字符f表示该节点为主库,字符t表示备库,流复制中断后,角色并不会被影响;

    3.2.关闭备库PostgreSQL服务,然后删除备库数据目录下所有文件

    3.3.同步主库数据到本地数据目录下(流复制用户:repl,数据目录:/data/postgresql),同步时间根据数据量大小而定,我这个地方有200~300GB数据,一个小时就同步完了。

    3.4.更改数据目录权限为700,直接启动备库PostgreSQL服务

    3.5.登录到主库,查看流复制状态,发现数据同步已重新建立;

    3.6.验证,在主库创建一个test_sync库,看是否会同步到备库;

    3.7.登录备库后,发现新建的test_sync库已经同步过来,说明数据同步已恢复。

    相关文章

      网友评论

          本文标题:PostgreSQL 12.3流复制断点恢复

          本文链接:https://www.haomeiwen.com/subject/isoxhltx.html