web-dev-qa-db-ja.com

PostgreSQL 8.4でアクティブな接続と「現在のアクティビティ」を確認する方法

DB接続が無期限に開いたままになり、DBサーバーで問題が発生する問題を調査しています。 PostgreSQLサーバーへの現在開いている接続、特に特定のデータベースを使用している接続を確認するにはどうすればよいですか?理想的には、そこで実行されているコマンドも確認したいと思います。基本的に、MSSQLの「現在のアクティビティ」ビューに相当するものを探しています。

114
EMP

はい、他の誰かから入手しました。このクエリは、トリックを実行する必要があります。

select *
from pg_stat_activity
where datname = 'mydatabasename';
154
EMP

pg-top も参照してください。これは、postgresアクティビティを表示することを除いて、topのように機能します。

  • Pg-topをインストールします(Debianでは、パッケージは「ptop」と呼ばれます)。
  • Postgresユーザーになります(例:Sudo su postgres
  • pg_topを実行します
27
Wayne Conrad

この記事から引用した参考文献

SELECT 
    pid
    ,datname
    ,usename
    ,application_name
    ,client_hostname
    ,client_port
    ,backend_start
    ,query_start
    ,query  
FROM pg_stat_activity
WHERE state <> 'idle'
AND pid<>pg_backend_pid();
16
Anvesh

Ubuntu 18.04で監視する2つの方法、参照用

pg_topを使用しているもの:

$ Sudo apt-get install ptop
$ pg_top # similar to top as others mentioned

2つはpgAdmin4を使用:

$ Sudo apt-get install pgadmin4 pgadmin4-Apache2
# type in password and use default url
$ pgadmin4

ダッシュボードで、合計/アクティブを確認します

enter image description here

3
Hearen

PostgreSQL ASHビューア(PASHビューア)は、アクティブなセッション履歴データをグラフィカルに表示します。 https://github.com/dbacvetkov/PASH-Viewer これは無料でオープンソースです。

ScreenShot

1
dcvetkov