Repolode
dalibo

dalibo/pg_activity

PostgreSQLサーバーのアクティビティ、セッション、実行中クエリをリアルタイムで監視する、top風のコマンドラインツール。

スター
3,051
フォーク
196
未解決の Issue
18
最終コミット
先月

これは何?

pg_activityは、topに似たターミナルインターフェースで、PostgreSQLサーバーの現在の動作を表示します。アクティブなバックエンドとそのクエリ、実行時間、CPU・メモリ使用量、読み書きの速度を一覧表示し、実行中・待機中・ブロック中のクエリを切り替えて確認できます。プロセステーブルの並べ替えや更新の一時停止、選択中のクエリのクリップボードへのコピーに加え、インターフェースからバックエンドの終了やクエリのキャンセルも行えます。

ローカル接続とリモート接続に対応し、標準的なlibpq接続文字列とオプションを利用できます。ヘッダーにはインスタンスとシステムの情報を表示でき、設定ファイルや、表示する列を切り替えるnarrow、wide、minimalなどの組み込みプロファイルも利用できます。データベース名によるフィルタリング、実行中クエリのCSVエクスポート、AWS RDSにも対応しています。

Linuxディストリビューションのパッケージ、psycopgを使ったPyPIからのインストール、またはソースからのインストールが可能です。Python 3.10以降に対応しています。

主な機能

  • 01クエリ、実行時間、CPU・メモリ使用量、I/O速度を含むPostgreSQLバックエンドのリアルタイム一覧表示。
  • 02実行中・待機中・ブロック中のクエリ表示を切り替え。
  • 03インターフェースからバックエンドの終了やクエリのキャンセルが可能。
  • 04表示する列を設定でき、組み込みの表示プロファイルも利用可能。
  • 05データベース名によるフィルタリングと、実行中クエリのCSVエクスポート。

ユースケース

  • 本番PostgreSQLサーバーで、遅いクエリやロック競合の原因を調査する。
  • リモートのデータベースホストにSSH接続し、接続状況やI/Oの動きをリアルタイムで確認する。
  • インシデント発生時に、ほかのセッションをブロックしているセッションを特定する。

クイックスタート

  1. 1

    psycopg を使って PyPI からインストールする

    python3 -m pip install "pg_activity[psycopg]"
  2. 2

    postgres ユーザーとしてローカルサーバーに接続して実行する

    sudo -u postgres pg_activity -U postgres

使う前に知っておきたいこと

  • すべてのデータを扱うには、スーパーユーザー権限を持つ PostgreSQL ユーザーが必要です。それ以外の場合は、機能が制限されたモードで動作します。

トピック

よくある質問

pg_activity とは?
PostgreSQLサーバーのアクティビティ、セッション、実行中クエリをリアルタイムで監視する、top風のコマンドラインツール。 pg_activityは、topに似たターミナルインターフェースで、PostgreSQLサーバーの現在の動作を表示します。アクティブなバックエンドとそのクエリ、実行時間、CPU・メモリ使用量、読み書きの速度を一覧表示し、実行中・待機中・ブロック中のクエリを切り替えて確認できます。プロセステーブルの並べ替えや更新の一時停止、選択中のクエリのクリップボードへのコピーに加え、インターフェースからバックエンドの終了やクエリのキャンセルも行えます。
pg_activity は無料で使えますか?ライセンスは?
pg_activity は PostgreSQL ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
pg_activity は今もメンテナンスされていますか?
半年以内に更新あり。pg_activity の最終コミットは 2026年9月21日 です。
pg_activity は何に使えますか?
本番PostgreSQLサーバーで、遅いクエリやロック競合の原因を調査する。 リモートのデータベースホストにSSH接続し、接続状況やI/Oの動きをリアルタイムで確認する。 インシデント発生時に、ほかのセッションをブロックしているセッションを特定する。
pg_activity のインストール方法は?
psycopg を使って PyPI からインストールする: python3 -m pip install "pg_activity[psycopg]" postgres ユーザーとしてローカルサーバーに接続して実行する: sudo -u postgres pg_activity -U postgres
pg_activity はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/dalibo/pg_activity

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト