PostgreSQLのマニュアルに載っていたものだと思うのですが,PostgreSQLはpostgresql.confで設定を行うことで実行中のSQLの情報を取得することができるようになります(厳密には実行中のPostgreSQL関連のプロセス情報が取得できます).
注意すべきことはこのSQLで取得できる情報はリアルタイムの測定ではなく,定期的にPostgreSQLが調べた結果になります.なので,むやみに実行してもあまり変化が起こらない場合があります.
SELECT
procpid,
start,
now() - start AS lap,
current_query
FROM
(SELECT
backendid,
pg_stat_get_backend_pid(S.backendid) AS procpid,
pg_stat_get_backend_activity_start(S.backendid) AS start,
pg_stat_get_backend_activity(S.backendid) AS current_query
FROM
(SELECT pg_stat_get_backend_idset() AS backendid) AS S
) AS S
WHERE
current_query <> '<IDLE>'
ORDER BY
lap DESC;
ポイントとしてはpg_stat_get_backend_activity_start()でSQLの実行開始日時が取得できるので,それを元にORDER BYをかけ,実行時間が長いものが上にきるようにしています.また,<IDLE>を除外することで実際に実行しているSQLを取得するようにしています(これだけだとトランザクション中のIDLEはでてくることになります).
このSQLの実行結果が閲覧できる管理画面を持っておくとちょっとした調査なら気軽に行うことができるようになりますのでオススメです.
Ellie2011/05/26 17:19I'm out of league here. Too much brain power on dsiplay!
ymqmgrkcju2011/05/27 18:29PnXVFO <a href="http://mbtcpmxoaxkm.com/">mbtcpmxoaxkm</a>
rspbcoouxvi2011/05/27 23:36FXUyO2 , [url=http://baiaeclplaou.com/]baiaeclplaou[/url], [link=http://ymvbzdaxmraj.com/]ymvbzdaxmraj[/link], http://hjzroitixcan.com/
rnygcplcle2011/05/29 16:19Y9anFT <a href="http://tihftfhcndao.com/">tihftfhcndao</a>
uwwmoa2011/06/01 21:55gkAMbN , [url=http://vdypregdusdc.com/]vdypregdusdc[/url], [link=http://scwlprdvuovq.com/]scwlprdvuovq[/link], http://bipkvfzzpdmf.com/