pg_glimpse —— ターミナルでの PostgreSQL モニタリングダッシュボード

データベースのパフォーマンス問題は、通常、業務のピーク時に表面化します。従来の監視ソリューションは、重すぎるか、Web インターフェースを確認するためにターミナルを離れる必要があります。pg_glimpse は、より軽量な選択肢を提供します:ターミナル上で実行される PostgreSQL のリアルタイム監視ダッシュボードです。

プロジェクト概要

属性詳細
GitHubdlt/pg_glimpse
Stars83
言語Rust
ライセンスMIT

主な機能

pg_glimpse は Rust と Ratatui で構築され、データベース管理者に最も必要とされる監視機能を提供します:

リアルタイムクエリ監視

  • 現在実行中のクエリを表示
  • クエリの実行時間と状態を確認
  • 長時間実行されているクエリを特定

ロック分析

  • テーブルロックと行ロックを検出
  • ブロックしているクエリとデッドロックを発見
  • ロック待ちチェーンを追跡

レプリケーション状態

  • マスター・スレーブ間のレプリケーション遅延を監視
  • レプリケーションスロットの状態を確認
  • WAL の送信・受信進捗を追跡

パフォーマンス指標

  • 接続数の統計
  • トランザクション処理量
  • キャッシュヒット率

インストールと使用方法

# リポジトリをクローン
git clone https://github.com/dlt/pg_glimpse.git
cd pg_glimpse

# コンパイル(Rust ツールチェーンが必要)
cargo build --release

# 実行(環境変数でデータベースに接続)
DATABASE_URL="postgres://user:password@localhost/dbname" ./target/release/pg_glimpse

インターフェースレイアウト

┌─────────────────────────────────────────────────────────┐
│ pg_glimpse - PostgreSQL Dashboard                    [?] │
├─────────────────────────────────────────────────────────┤
│ [Queries] [Locks] [Replication] [Stats]                  │
├─────────────────────────────────────────────────────────┤
│ PID  │ USER  │ DB    │ STATE   │ TIME  │ QUERY          │
├──────┼───────┼───────┼─────────┼───────┼────────────────┤
│ 1234 │ app   │ prod  │ active  │ 2.3s  │ SELECT ...     │
│ 1235 │ app   │ prod  │ idle    │ 0.1s  │ COMMIT         │
│ 1236 │ admin │ stats │ active  │ 15.2s │ ANALYZE ...    │
└─────────────────────────────────────────────────────────┘

使用シナリオ

シナリオ使い方
遅いクエリの調査Queries タブに切り替え、時間でソート
ロック競合の確認Locks タブでブロックの発生源を特定
レプリケーション遅延の監視Replication パネルに切り替え
クイックヘルスチェックStats タブで主要指標を確認

類似ツールとの比較

ツール特徴適用シナリオ
pg_glimpse軽量、ターミナルネイティブ、リアルタイム開発デバッグ、迅速な診断
pgAdmin機能が充実、グラフィカルインターフェース日常的な管理、複雑な操作
pgbadgerレポート生成、履歴分析事後分析、傾向レポート
pg_stat_statements組み込み統計、正確なデータ長期監視、最適化の根拠

技術的なハイライト

  • 純粋な Rust 実装:Python 依存なし、単一バイナリ
  • Ratatui フレームワーク:スムーズなターミナル UI 体験
  • 低リソース消費:サーバー上での長期実行に適している
  • 安全な接続:標準の PostgreSQL 接続文字列をサポート

対象ユーザー

  • SSH セッションでデータベースの状態を迅速に確認する必要がある運用担当者
  • 開発環境でクエリをリアルタイムに監視したい開発者
  • ターミナルワークフローを好み、ブラウザを開きたくない DBA

まとめ

pg_glimpse は、PostgreSQL 監視ツールの空白を埋めます:psql + \watch より直感的で、完全な監視スタックより軽量です。ターミナルでデータベースの問題を頻繁に調査する必要がある開発者にとって、ツールボックスに追加する価値のある小さなツールです。


プロジェクトアドレス:https://github.com/dlt/pg_glimpse