gs_ctl 命令
gs_ctl是openGauss提供的数据库服务控制工具,可以用来启停数据库服务和查询数据库状态。主要供openGauss管理模块调用。
gs_ctl工具由操作系统用户omm执行。
•启动、停止、重启openGauss节点。
•在不停止数据库的情况下,重新加载配置文件(postgresql.conf,pg_hba.conf)。
•主备切换、主备状态查询、重建和重建状态查询。
以操作系统用户omm登录数据库
su - omm
gs_om 命令
openGauss提供了gs_om工具帮助对openGauss进行维护,包括启动openGauss、停止openGauss、查询openGauss状态、查询静态配置、生成静态配置文件、查询openGauss状态详细信息、生成动态配置文件、SSL证书替换、显示帮助信息和显示版本号信息等功能。
前提条件
需以操作系统用户omm执行gs_om命令。
命令语法
•启动openGauss
gs_om -t start [-h HOSTNAME] [-D dataDir] [--time-out=SECS] [--security-mode=MODE] [--cluster-number=None] [-l LOGFILE]
•停止openGauss
gs_om -t stop [-h HOSTNAME] [-D dataDir] [--time-out=SECS] [-m MODE] [-l LOGFILE]
•重启openGauss
gs_om -t restart [-h HOSTNAME] [-D dataDir] [--time-out=SECS] [--security-mode=MODE] [-l LOGFILE] [-m MODE]
•查询openGauss状态
gs_om -t status [-h HOSTNAME] [-o OUTPUT] [--detail] [--all] [-l LOGFILE]
•生成静态配置文件
gs_om -t generateconf -X XMLFILE [--distribute] [-l LOGFILE]
gs_om -t generateconf --old-values=old --new-values=new [--distribute] [-l LOGFILE]
•生成动态配置文件
备机failover或switchover成主机后,需要执行此操作
gs_om -t refreshconf
•查看静态配置
gs_om -t view [-o OUTPUT]
•查询openGauss状态详细信息
gs_om -t query [-o OUTPUT]
•SSL证书替换
gs_om -t cert --cert-file=CERTFILE [-l LOGFILE]
gs_om -t cert --rollback
•开启、关闭数据库内kerberos认证
gs_om -t kerberos -m [install|uninstall] -U USER [-l LOGFILE] [--krb-client|--krb-server]
•显示帮助信息
gs_om -? | --help
•显示版本号信息
gs_om -V | --version
gs_om参数可以分为如下几类:
•通用参数
-t gs_om命令的类型。
取值范围:start、stop、status、generateconf、cert、view、query、refreshconf、kerberos。
-l 指定日志文件及存放路径。
默认值:$GAUSSLOG/om/gs_om-YYYY-MM-DD_hhmmss.log(virtualip的默认值:/tmp/gs_virtualip/gs_om-YYYY-MM-DD_hhmmss.log)
-?, --help 显示帮助信息。
-V, --version 显示版本号信息。
•启动openGauss参数
-h 指定需要启动的服务器名称。一次只能启动一个服务器。
取值范围:服务器名称。
不指定服务器名称时,表示启动openGauss。
-D 指定数据库节点路径。
取值范围:数据库节点路径。
不指定数据库节点路径,表示使用静态文件中的数据库节点路径。
说明: 针对部署了CM工具的集群,如果在对单个实例进行启停时候指定了-D参数,只会启动或者停止数据库进程,不会影响CM相关进程。
假设当前实例的数据库和CM进程都停止,在启动该实例时候如果指定了-D参数,那么只会尝试拉起数据库进程,此时由于CM进程不存在会导致数据库进程也拉起失败。可以去掉-D参数,启动整个实例。
--time-out=SECS 指定超时时间,如果超时,om脚本自动退出。单位:s。
取值范围:正整数,建议值300。
默认值:300。
--security-mode 指定是否以安全模式启动数据库。
取值范围:
◾on以安全模式启动。
◾off不以安全模式启动,默认不开启安全模式。
--cluster-number 指定启动时内核运行版本号。
取值范围: 内核版本号。
•停止openGauss参数
-h 指定需要停止实例所在的服务器名称。一次只能停止一个服务器。
取值范围:实例所在的服务器名称。
不指定服务器名称时,表示停止openGauss。
-m, --mode=MODE 停止模式设置。
取值范围:支持两种停止模式。
◾fast方式:保证有主备关系的实例数据是一致的。
◾immediate方式:不保证有主备关系的实例数据是一致的。
默认值:fast方式。
--time-out=SECS 指定超时时间,如果超时,om脚本自动退出。单位:s。
取值范围:正整数,建议值300。
默认值:300。
•查询状态参数
-h 指定需要待查询的服务器名称。
取值范围:服务器名称。
不指定服务器时,表示查询openGauss。
--az 指定需要查询的AZ名称,比如--az=AZ1。
取值范围:AZ名称,不指定AZ名称时,表示查询所有AZ。
-o 输出到指定的output文件中。
如果不指定,直接显示在屏幕上。
--detail 显示详细信息。如果不指定,只提示该服务器是否正常。
本参数通过在每个数据库节点执行gs_ctl query命令进行查询并汇总结果,来获取openGauss的详细信息。
--all 显示openGauss所有节点信息。
本参数通过在每个数据库节点执行gsql查询系统表并汇总结果,来获取openGauss所有节点的信息。为保证显示信息的正确性,在使用本参数前请确认gsql可以查询。
•生成配置文件参数
-X 选择openGauss配置文件路径。
取值范围:clusterconfig.xml的路径。
--old-values=old 需要修改的静态文件中的旧值。
取值范围:port、ip、hostname,可以输入多个值,用逗号隔开。
--new-values=new 需要修改的静态文件中的新值。
取值范围:port、ip、hostname,可以输入多个值,用逗号隔开,与old-values一一对应。
--distribute 将静态配置文件发布到openGauss实例的安装目录。
•开启、关闭数据库内kerberos认证
-U 指定数据库部署用户。
取值范围:数据库部署用户。
-m 指定所要进行的操作。
取值范围:
install:开启数据库内kerberos认证。
uninstall:关闭数据库内kerberos认证。
--krb-server安装kerberos服务端认证。
--krb-client安装kerberos客户端认证。
注:需要先安装--krb-server,卸载时同步卸载不需要该参数。
•SSL证书替换
--cert-file 指定本地SSL证书zip压缩包所在路径。
--rollback 证书回退到上一次成功备份的状态。
-L 制定该参数时,仅对当前节点进行。
今日练习
1、从操作系统层面查看数据库进程和线程,判断数据库是否启动。
使用 ps -ef | grep gauss 和 ps -Tp <数据库进程号> 命令查看是否有数据库进程信息,来判断数据库是否启动。
ps -ef | grep gauss
ps -Tp 24427
2、使用gs_ctl工具查看数据库状态,判断数据库是否启动。
使用 gs_ctl status 查看数据库状态
如果数据库启动,显示gs_ctl: server is running (PID: 1)
若要查询某主机上的实例状态,请在命令中增加“-h”项。示例如下:
gs_om -t status -h GsDb5Srv102
3、使用gs_ctl 查看数据文件的目录
gs_ctl notify
4、从环境变量查看数据文件的目录
grep -i PGDATA ~/.bashrc
5、在gsql中查看数据文件目录、数据库版本
gsql -d postgres
查询语句
show data_directory;
select version();




