• Patroni的pause和resume功能


    Patroni有个很实用的功能,就是命令

    patronictl.py -c patroni.yml pause

    patronictl.py -c patroni.yml resume

    前者暂停patroni,这样patroni就与postgresql/opengauss断开了联系,此时可以杀掉patroni进程,而postgresql/opengauss仍然在正常运行。

    后者恢复patroni对postgresql/opengauss的管理。

    这一功能在什么场景下实用呢?

    例如,如果想利用patroni搭建postgresql/opengauss的主从关系,但是不想使用patroni管理集群,仍然保留主从关系,就可以先在各个节点上启动patroni,待建立起主从关系后,在任意节点执行patronictl.py -c patroni.yml pause,然后停掉(kill)patroni和etcd

    注意此时patroni的集群状态是“Maintenance mode:on”

    这个状态存储在etcd的config键中:

    [postgres@pg_154 patroni]$ ETCDCTL_API=2 etcdctl --endpoint http://127.0.0.1:12379 get /service/pg_cluster/config
    {"loop_wait":10,"master_start_timeout":300,"maximum_lag_on_failover":1048576,"postgresql":{"parameters":{"max_connections":200,"max_prepared_transactions":200},"use_pg_rewind":false,"use_slots":true},"retry_timeout":10,"synchronous_mode":false,"ttl":30,"pause":true}

     数据库进程仍然存在并正常运行。

    此时postgresql/opengauss以patroni建立起的主从关系,正常运行。

    如果稍后向让patroni管理postgresql/opengauss集群,则可以执行(现在各个节点启动patroni)

    patronictl.py -c patroni.yml resume

    这样patroni集群继续管理postgresql/opengauss集群,可以自动主备切换。

  • 相关阅读:
    将VMProtect集成到应用程序教程之实模式(三):测试结果
    【C++基础】this指针
    进程概述
    【PAT甲级】1010 Radix
    Swagger2使用------------整合SpringBoot
    Python枚举类定义和使用
    VTK旋转、平移、缩放
    从零开始 Spring Cloud 13:分布式事务
    HTML CSS个人网页设计与实现——人物介绍丁真(学生个人网站作业设计)
    【C++】初识STL
  • 原文地址:https://blog.csdn.net/howard_shooter/article/details/126470698