pg_stat_insights - PostgreSQL パフォーマンス監視拡張機能¶
高度な PostgreSQL クエリパフォーマンス監視、SQL 最適化、およびデータベース分析拡張機能
遅いクエリの監視 • キャッシュ効率の追跡 • WAL 生成の分析 • データベースパフォーマンスの最適化 • リアルタイムメトリクス • Grafana ダッシュボード
言語サポート / Language Support / 多语言支持¶
日本語 (現在) | 简体中文 | 繁體中文 | English
概要¶
PostgreSQL クエリパフォーマンス監視をシンプルに
pg_stat_insights は、データベースパフォーマンス監視、クエリ最適化、および **SQL 分析**のための高度な PostgreSQL 拡張機能です。**52 の包括的なメトリクス**を追跡・分析し、**11 の事前構築されたビュー**を通じて遅いクエリの特定、キャッシュパフォーマンスの最適化、リアルタイムでのデータベース健全性の監視を実現します。
最適な用途: - PostgreSQL パフォーマンスを監視するデータベース管理者 - クエリパフォーマンスとリソース使用状況を追跡する DevOps チーム - SQL クエリとデータベース操作を最適化する開発者 - データベース監視とアラートを実装する SRE
主な機能: - 52 のメトリクスカラム - 実行時間、キャッシュヒット、WAL 生成、JIT 統計、バッファ I/O - 11 の事前構築ビュー - 最も遅いクエリ、キャッシュミス、I/O 集約的な操作への即座のアクセス - 11 のパラメータ - トラッキング、ヒストグラム、統計収集の微調整 - 直接置換 - 強化されたメトリクスを持つ pg_stat_statements の代替 - PostgreSQL 16-18 - 最新の PostgreSQL バージョンとの完全な互換性 - レスポンスタイム追跡 - 実行時間によるクエリの分類(<1ms から >10s) - キャッシュ分析 - バッファキャッシュの非効率性と最適化の機会を特定 - WAL 監視 - クエリごとの先行書き込みログの生成を追跡 - 時系列データ - 履歴パフォーマンストレンドとバケット分析 - Prometheus/Grafana 対応 - 事前構築されたダッシュボードとアラートルールを含む
クイックスタート - 3 ステップでインストール¶
5 分で PostgreSQL クエリパフォーマンスを監視:
-- ステップ 1:PostgreSQL 設定で拡張機能を有効化
ALTER SYSTEM SET shared_preload_libraries = 'pg_stat_insights';
-- PostgreSQL サーバーの再起動が必要
-- ステップ 2:データベースに拡張機能を作成
CREATE EXTENSION pg_stat_insights;
-- ステップ 3:最も遅いクエリを即座に表示
SELECT
query,
calls,
total_exec_time,
mean_exec_time,
rows
FROM pg_stat_insights_top_by_time
LIMIT 10;
結果: クエリパフォーマンス、実行時間、キャッシュ効率、PostgreSQL データベース全体でのリソース使用状況を即座に可視化します。
ドキュメント¶
完全なドキュメントは以下で入手可能:
pgelephant.github.io/pg_stat_insights¶
クイックリンク:
- はじめに - インストールとセットアップ
- 設定 - すべての 11 パラメータ
- ビューリファレンス - すべての 11 ビュー
- メトリクスガイド - すべての 52 カラム
- 使用例 - 50+ SQL クエリ
- Prometheus & Grafana - 監視統合
- トラブルシューティング - よくある問題
インストール¶
# ビルドとインストール
cd pg_stat_insights
make
sudo make install
# 設定
echo "shared_preload_libraries = 'pg_stat_insights'" | \
sudo tee -a /etc/postgresql/*/main/postgresql.conf
# PostgreSQL を再起動
sudo systemctl restart postgresql
# 拡張機能を作成
psql -d your_database -c "CREATE EXTENSION pg_stat_insights;"
詳細な手順: インストールガイド
ビュー¶
すべての 11 の事前構築ビュー:
| ビュー | 目的 |
|---|---|
pg_stat_insights | メイン統計ビュー(52 カラム) |
pg_stat_insights_top_by_time | 合計時間による最も遅いクエリ |
pg_stat_insights_top_by_calls | 最も頻繁に呼び出されるクエリ |
pg_stat_insights_top_by_io | 最高の I/O 消費者 |
pg_stat_insights_top_cache_misses | キャッシュパフォーマンスが悪いクエリ |
pg_stat_insights_slow_queries | 平均時間が 100ms を超えるクエリ |
pg_stat_insights_errors | エラーのあるクエリ |
pg_stat_insights_plan_errors | プラン推定の問題 |
pg_stat_insights_histogram_summary | レスポンスタイムの分布 |
pg_stat_insights_by_bucket | 時系列集計 |
pg_stat_insights_replication | レプリケーション監視 |
完全なリファレンス: ビュードキュメント
なぜ pg_stat_insights を選ぶのか?¶
一般的な PostgreSQL パフォーマンス問題を解決:
- 遅いクエリを見つける - 過剰な実行時間とリソースを消費するクエリを特定
- キャッシュ使用を最適化 - バッファキャッシュミスを検出し、shared_buffers の効率を向上
- WAL オーバーヘッドを削減 - クエリタイプごとの先行書き込みログ生成を監視
- クエリパターンを追跡 - 実行頻度、レスポンスタイム、リソース消費を分析
- リアルタイム監視 - Grafana と統合してライブダッシュボードとアラートを実現
- PostgreSQL ベストプラクティス - PostgreSQL コーディング標準と規約に従って構築
他の拡張機能との比較¶
| 機能 | pg_stat_statements | pg_stat_monitor | pg_stat_insights |
|---|---|---|---|
| メトリクスカラム | 44 | 58 | 52 |
| 事前構築ビュー | 2 | 5 | 11 |
| 設定オプション | 5 | 12 | 11 |
| キャッシュ分析 | 基本 | 基本 | 比率付き拡張 |
| レスポンスタイム分類 | なし | なし | あり(<1ms から >10s) |
| 時系列追跡 | なし | なし | あり(バケットベース) |
| TAP テストカバレッジ | 標準 | 限定的 | 150 テスト、100% カバレッジ |
| ドキュメント | 基本 | 中程度 | GitHub Pages で 30+ ページ |
| Prometheus 統合 | 手動 | 手動 | 事前構築クエリとダッシュボード |
詳細な比較を見る: 機能比較
PostgreSQL パフォーマンステスト¶
品質保証のための包括的な TAP テストスイート: - **16 のテストファイル**がすべての拡張機能をカバー - **150 のテストケース**で 100% のコードカバレッジ - すべての 52 メトリクスカラム、11 ビュー、11 パラメータをテスト - カスタム StatsInsightManager.pm フレームワーク - 外部 Perl 依存関係不要 - PostgreSQL 18 テストインフラストラクチャと互換
PostgreSQL 拡張機能テストを実行:
継続的インテグレーション: すべてのコミットで自動 PostgreSQL テストを行う GitHub Actions ワークフロー
詳細: テストガイド
Prometheus & Grafana によるデータベース監視¶
リアルタイム PostgreSQL メトリクスの可視化:
pg_stat_insights データを PostgreSQL データベース監視のための実行可能なダッシュボードとアラートに変換:
- Prometheus 統合 - postgres_exporter 用の 5 つの事前設定クエリ
- Grafana ダッシュボード - クエリパフォーマンス可視化用の 8 つのすぐに使えるパネル
- アラートルール - データベース健全性監視用の 11 のプロダクション対応アラート
- クエリレート追跡 - 毎秒のクエリ数(QPS)とスループットを監視
- キャッシュパフォーマンス - リアルタイムのバッファキャッシュヒット率監視
- レスポンスタイム SLA - サービスレベル目標のために P95/P99 クエリレイテンシを追跡
- WAL 生成アラート - 先行書き込みログの増加とディスク使用量を監視
完全な Prometheus/Grafana ガイド: 監視統合
ライセンス¶
MIT ライセンス - Copyright © 2024-2025, pgElephant, Inc.
詳細は LICENSE を参照してください。
リンク¶
- 完全なドキュメント
- インタラクティブデモ - オンラインでpg_stat_insightsを体験
- ブログ記事 - 包括的なガイドとベストプラクティス
- GitHub リポジトリ
- 問題を報告
- ディスカッション