96

アクティブなユーザーを SQL 経由で postgreSQL データベースに接続するにはどうすればよいですか? これは、ユーザー ID またはユーザー数です。

4

3 に答える 3

120

(質問) その情報は入っていませんか?

select * from pg_user ;

またはビューpg_stat_activityを使用します:

select * from pg_stat_activity;

追加した:

ビューは言う:

サーバー プロセスごとに 1 行。データベース OID、データベース名、プロセス ID、ユーザー OID、ユーザー名、現在のクエリ、クエリの待機状態、現在のクエリの実行開始時刻、プロセスの開始時刻、およびクライアントのアドレスとポート番号。パラメーター stats_command_string がオフになっていない限り、現在のクエリのデータをレポートする列を使用できます。さらに、これらの列は、ビューを調べているユーザーがスーパーユーザーであるか、報告されているプロセスを所有しているユーザーと同じである場合にのみ表示されます。

その情報をフィルタリングして取得できませんか?これはデータベース上の現在のユーザーになります。たとえば、開始された実行時間を使用して、過去 5 分間からすべてのクエリを取得できます...

そんな感じ。

于 2009-01-21T09:50:46.400 に答える