admin管理员组

文章数量:1666730

原生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():

 def _do_stop():

def terminate_postmaster():

def terminate_starting_postmaster():

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

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

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

patroni/postgresql/bootstrap.py:

def _initdb(): 

本文标签: PatroniopenGauss