Patroni for opengauss 7:Patroni对Opengauss的控制
  TEZNKK3IfmPf 2024年03月29日 33 0

原生Patroni是通过pg_ctl、postgres等命令控制Postgresql,但是在Opengauss中,这些命令的程序为gs_ctl、gaussdb,参数发生了一些改变,之前Patroni调用Postgresql命令的代码,不做修改用在Openguass上会出错,必须做适配。

1、Postgresql的pg_ctl,在Opengauss中对应的命令是gs_ctl,要把Patroni中对pg_ctl的调用改为对gs_ctl的调用,它们的大多数命令使用相似但有一些不同:

patroni/postgresql/__init__.py:

def pg_ctl():

Patroni for opengauss 7:Patroni对Opengauss的控制

 def _do_stop():

Patroni for opengauss 7:Patroni对Opengauss的控制

def terminate_postmaster():

Patroni for opengauss 7:Patroni对Opengauss的控制

def terminate_starting_postmaster():

Patroni for opengauss 7:Patroni对Opengauss的控制

def reload(): PG的pg_ctl reload对应OG的gs_ctl reload,还要加上用户名密码

Patroni for opengauss 7:Patroni对Opengauss的控制

 def promote(): PG的pg_ctl promote对应OG的gs_ctl failover,还要加上用户名密码

Patroni for opengauss 7:Patroni对Opengauss的控制

 def start(): Patroni直接调用postgres可执行程序启动postmaster,在OG中对应的是gaussdb,还要在调用gaussdb命令时加上选项-M primary或-M standby表示以主机或备机启动。

Patroni for opengauss 7:Patroni对Opengauss的控制

patroni/postgresql/bootstrap.py:

def _initdb(): 

Patroni for opengauss 7:Patroni对Opengauss的控制

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2024年03月29日 0

暂无评论

推荐阅读
TEZNKK3IfmPf