機能概要
SHOW STATUS 構文は、openGauss データベースエンジンが内部で継続的に収集している実行時統計情報やシステムメトリクスをテーブル形式で出力するコマンドです。データベースの稼働状態把握、I/O ボトルネックの特定、トランザクション処理の推移分析など、運用監視の基盤として利用されます。特別な管理者権限は不要であり、接続可能な標準クライアント権限でも実行可能です。
基本構文とスコープ制御
コマンドの書式は以下の通りです。スコープ指定子を用いることで、インスタンス全体(グローバル)と現在の接続セッション(セッション)の計測データを切り替えて取得できます。
SHOW [GLOBAL | SESSION] STATUS
[LIKE 'パターン文字列' | WHERE 評価式]
- GLOBAL: サーバー起動以降の累計値や全体リソースの使用状況を参照します。
- SESSION: 現在のクライアント接続に限定された統計値を取得します。
- LIKE / WHERE: 出力結果をフィルタリングし、特定のメトリクス名や閾値条件に合致する項目のみを抽出します。
実行パターンと出力の解釈
以下に、運用監視において代表的な呼び出しパターンと出力結果の抜粋を示します。実際の数値はワークロードの特性やハードウェア環境により変動します。
全体メトリクスの一括取得
db_console=> SHOW GLOBAL STATUS;
metric_identifier | metric_value
--------------------------+--------------------------
xact_commit | 18420
xact_rollback | 112
blks_hit | 2105340
blks_read | 4890
checkpoint_sync_time | 9540
node_name | primary_cluster_01
workload | analytics_pool
(出力は一部省略)
ワイルドカードによるカテゴリ抽出
トランザクション処理に関連するカウンターのみをフィルタリングする場合は、LIKE 句を活用します。ログ回転やバッチ処理の監視スクリプトで頻繁に使用されます。
db_console=> SHOW STATUS LIKE 'xact%';
metric_identifier | metric_value
---------------------+--------------
xact_commit | 18502
xact_rollback | 115
(2 rows)
論理条件式を用いた精密抽出
システム内部パラメータに対して WHERE 句を適用し、チェックポイント時の WAL 位置やレプリケーション同期ポインターを確認します。障害復旧時の基準点確認に有用です。
db_console=> SHOW STATUS WHERE metric_identifier = 'ckpt_redo_point';
metric_identifier | metric_value
----------------------+--------------
ckpt_redo_point | 0/3B2F8D0
(1 row)
主要パラメータの監視カテゴリ分け
出力されるメトリクスはデータベースの内部動作を多角的に反映しています。運用では以下の分類に基づいてアラート閾値やダッシュボード構成を設計すると効率的です。
- トランザクション処理系:
xact_commit,xact_rollback,dml_countなど。処理成功率やロールバック頻度の推移を可視化します。 - ストレージキャッシュ系:
blks_hit,blks_read,phyblkrdなど。バッファプールヒット率と物理ディスクへの直接アクセス回数を評価します。 - メモリ領域系:
*_dynamic_used_memory,*_max_shared_memoryなど。バックエンドプロセスのメモリリークリスクやスワップ発生予兆を監視します。 - レカバリ/同期系:
ckpt_redo_point,redo_start_ptr,primary_flush_ptrなど。WAL(Write-Ahead Logging)のフラッシュ状態やフェイルオーバー時の復旧基点を把握します。