VastbaseG100

基于openGauss内核开发的企业级关系型数据库。

Menu

集群管理函数

ha_switchover

描述: 在主备机正常时,出于维护的需要,将备机切换为主机,可保证切换过程中数据不丢失。等同于vb_ctl switchover命令。支持的切换模式包括:

  • fast:不等待客户端中断连接,所有活跃事务都被回滚并且客户端都被强制断开,然后服务器将被切换。缺省使用此模式。
  • force:不等待客户端中断连接,所有活跃事务都被回滚并且客户端都被强制断开,然后服务器将被切换,且不做checkpoint。
  • smart:等待所有客户端断开连接以及任何在线备份结束,正在进行中的事务不中断。

仅具有系统管理员权限的用户可以调用此函数。

返回值: 布尔型

  • t:switchover命令下发成功。

  • f:switchover命令下发失败。

函数返回t表示switchover命令下发成功,但并不代表备机已提升为主机。比如指定smart模式时,即使客户端存在连接,函数仍返回t。此时主备切换处于等待状态。

示例:

在要切换为主机的备机上执行:

select ha_switchover('smart');

备机成功切换为主机后,返回结果如下:

 ha_switchover
---------------
 t
(1 row)