pg_catalog

PostgreSQL セッション一覧を確認する

pg_stat_activity

pg_stat_activityビューはOracleでいうv$sessionに相当すると思います。セッション一覧と記載していますが、正確には次の通りです。PostgreSQLのインスタンスではクライアントからの接続要求によりバックエンドプロセスが立ち上がってクライアントと接続がされます。このバックエンドプロセスの状態を確認するビューになります。こちらのSQLを実行する際には管理者権限保持者(通常postgres)にて実行するようにしてください。(一般ユーザでも実行はできますがこの場合全てのセッションを確認する事ができません)

セッション一覧出力SQL
select a.pid,a.datname, a.usename,a.application_name, s.ssl, client_addr 
,to_char(a.backend_start, 'YY/MM/DD HH24:MI:SS') as backend_start
,to_char(a.xact_start, 'YY/MM/DD HH24:MI:SS') as xact_start
,a.state,a.wait_event,a.wait_event_type
from pg_stat_activity a left outer join pg_stat_ssl s
on s.pid = a.pid 
where 1=1 and datname is not null
order by backend_start
;
項目説明
No. 項目名 意味
1 pid プロセスID
2 datname 接続しているDB名
3 usename 接続ユーザ名
4 application_name アプリケーション名
5 ssl SSL接続している場合はt(true)
6 client_addr 接続しているクライアントIPアドレス
7 backend_start クライアントがサーバに接続開始した時刻
8 xact_start 現在のトランザクションが開始した時刻。bigeinやstart transactionが発行されたタイミング;
9 state セッション(バックエンドプロセス)の状態
10 wait_event セッション(バックエンドプロセス)が現在待機している場合は待機イベント名、その他はNULL。Ver.9.6以降に設けられた項目です。
11 wait_event_type 値が取りえる場合はセッション(バックエンドプロセス)が待機しているイベントの型。 さもなければNULL。Ver.9.6以降に設けられた項目です。

 

実行例
  pid  | datname  | usename  |     application_name     | ssl | client_addr |   backend_start   |    xact_start     | state  | wait_event | wait_event_type
-------+----------+----------+--------------------------+-----+-------------+-------------------+-------------------+--------+------------+-----------------
 47379 | postgres | postgres | psql                     | t   | 192.168.3.5 | 23/07/17 02:07:11 | 23/07/17 02:11:33 | active |            |
 47393 | myposdb  | postgres | psql                     | t   | 192.168.3.5 | 23/07/17 02:08:21 |                   | idle   | ClientRead | Client
 47417 | myposdb  | sooni    | psql                     | f   | 192.168.3.5 | 23/07/17 02:10:12 |                   | idle   | ClientRead | Client
 47433 | myposdb  | postgres | pgAdmin 4 - CONN:6723353 | t   | 192.168.3.5 | 23/07/17 02:11:20 |                   | idle   | ClientRead | Client
 47434 | myposdb  | sooni    | PostgreSQL JDBC Driver   | f   | 192.168.3.5 | 23/07/17 02:11:30 |                   | idle   | ClientRead | Client
(5 行)


postgres=#
スポンサーリンク