gpstate

显示正在运行的Greenplum数据库系统的状态。

概要

  1. gpstate [-d master_data_directory] [-B parallel_processes]
  2. [-s | -b | -Q | -e] [-m | -c] [-p] [-i] [-f] [-v | -q]
  3. [-l log_directory]
  4. gpstate -? | -h | --help

描述

gpstate工具显示有关正在运行的Greenplum数据库实例的信息。由于Greenplum数据库系统由跨多台机器的多个PostgreSQL数据库实例(Segment)组成,因此用户可能需要了解关于Greenplum数据库系统的额外信息。gpstate工具为Greenplum数据库系统提供了额外的状态信息,例如:

  • 哪台Segment主机已被关闭?
  • Master和Segment配置信息(主机、数据目录等)。
  • 系统使用的端口。
  • 主Segment到其相应的镜像Segment的映射。

选项

-b (简要状态)

可选。显示Greenplum数据库系统状态的简要概述。这是默认选项。

-B parallel_processes

并行检查的Segment数。如果未指定,则工具将根据需要检查多少个Segment实例启动最多60个并行进程。

-c (显示主Segment到镜像Segment的映射)

可选。显示主Segment到镜像Segment的映射。

-d master_data_directory

可选。Master的数据目录。如果未指定,则使用为$MASTER_DATA_DIRECTORY设置的值。

-e (显示镜像状态出问题的Segment)

显示具有潜在问题的主要/镜像Master对的详细信息,例如1)活动Segment正在Change Tracking模式下运行,表示Segment处于关闭状态;2)活动Segment处于重新同步模式,这意味着它正在赶上对镜像的更改;3)一个Segment不是它的首选角色,例如在系统初始化时作为一个主Segment的现在作为一个镜像Segment,这意味着用户可能有一台或多台Segment主机的处理负载不平衡。

-f (显示后备Master的详情)

显示后备Master主机的详细信息(如果配置)。

-i (显示Greenplum数据库的版本)

显示每个实例的Greenplum数据库软件版本信息。

-l logfile_directory

写入日志文件的目录。默认为 ~/gpAdminLogs。

-m (列出镜像)

可选。列出系统中的镜像Segment实例及其当前角色和同步状态。

-p (显示端口)

列出整个Greenplum数据库系统使用的端口号。

-q (没有屏幕输出)

可选。以静默模式运行。除了警告信息之外,屏幕上不显示命令输出。但是,这些信息仍然写入到日志文件中。

-Q (快速状态)

可选。在Master主机上的系统目录中检查Segment的状态。不直接向Segment征询状态。

-s (详细状态)

可选。显示Greenplum数据库系统的详细状态信息.

-v (详细输出)

可选。显示错误消息并输出详细的状态和进度信息。

-? | -h | —help (help)

显示在线帮助。

输出字段定义

以下输出字段由主机的gpstate -s报告:

表 1. gpstate为Master给出的输出数据
输出数据描述
Master hostMaster的主机名
Master postgres process ID主数据库侦听进程的PID
Master data directory主数据目录的文件系统位置
Master portMaster上postgres数据库监听器进程的端口
Master current roledispatch = 常规操作模式

utility = 维护模式

Greenplum array configuration typeStandard = 每台主机一个NIC

Multi-Home = 每台主机多个NIC

Greenplum initsystem version系统第一次初始化时的Greenplum数据库版本
Greenplum current versionGreenplum数据库当前的版本
Postgres versionGreenplum数据库基于的PostgreSQL版本
Greenplum mirroring status物理镜像或无镜像
Master standby后备Master的主机名
Standby master state后备Master的状态:活跃或被动

以下输出字段由gpstate -s为每个Segment报告:

表 2. gpstate为Segment给出的输出数据
输出数据描述
Hostname系统配置的主机名
Address网络地址主机名(NIC名称)
DatadirSegment数据目录的文件系统位置
PortSegment的postgres数据库监听器进程的端口号
Current RoleSegment的当前角色:Mirror或者Primary
Preferred Role系统初始化时的角色:Mirror或者Primary
Mirror Status主/镜像Segment对的状态:

Synchronized = 两者上的数据都是最新

Resynchronization = 数据当前正被从一个拷贝到另一个

Change Tracking = Segment停止并且活动Segment正在记录更改

Change tracking data size当处于Change Tracking模式中时,更改日志文件的尺寸(如果应用压缩,尺寸可能增长或者收缩)
Estimated total data to synchronize当处于Resynchronization模式中时,剩下要同步的数据的估计尺寸
Data synchronized当处于Resynchronization模式中时,已经被同步的数据的估计尺寸
Estimated resync progress with mirror当处于Resynchronization模式中时,完成百分比的估计值
Estimated resync end time当处于Resynchronization模式中时,完成时间的估计
File postmaster.pidpostmaster.pid锁文件的状态:Found或者Missing
PID from postmaster.pid filepostmaster.pid文件中找到的PID
Lock files in /tmp为Segment的postgres会在/tmp中创建Segment端口锁文件(当Segment关闭时会移除该文件)
Active PIDSegment的活动进程ID
Master reports status as系统目录中报告的Segment状态: Up或者Down
Database statusGreenplum数据库对进入请求的状态:UpDown或者SuspendedSuspended状态意味着当Segment正从一种状态转移到另一种状态时,数据库活动被临时暂停。

以下输出字段由gpstate -f为每个后备Master复制状态报告:

表 3. gpstate对Master复制给出的输出数据
输出数据描述
Standby address后备Master的主机名
Standby data dir后备Master的数据目录的文件系统位置
Standby port后备Master的postgres数据库监听器进程的端口
Standby PID后备Master的进程ID
Standby status后备Master的状态:Standby host passive
WAL Sender State预写式日志(WAL)流状态: streamingstartupbackupcatchup
Sync stateWAL发送者同步状态:sync
Sent LocationWAL发送者事务日志(xlog)记录发送位置
Flush LocationWAL接收者xlog记录刷入位置
Replay Location后备上xlog记录重放位置

示例

显示Greenplum数据库系统的详细信息:

  1. gpstate -s

在Master主机系统目录中快速检查下游Segment:

  1. gpstate -Q

显示关于镜像Segment实例的信息:

  1. gpstate -m

显示关于后备Master配置的信息:

  1. gpstate -f

显示Greenplum软件版本信息:

  1. gpstate -i

另见

gpstartgplogfilter