1. ホーム
  2. sql

[解決済み] PostgreSQLデータベースに接続しているアクティブユーザをSQLで取得するには?

2023-01-27 09:38:22

質問

postgreSQLデータベースに接続しているアクティブユーザをSQLで取得するにはどうしたらよいでしょうか。これはユーザIDであったり、ユーザ数であったりします。

どのように解決するのですか?

(質問)その情報は

から * を選択します。 pg_user ;

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

select * from pg_stat_activity;

追加されました。

と表示されます。

サーバープロセスごとに1行、データベースOID、データベース名、プロセスID、ユーザーOIDが表示されます。 ユーザ名 現在のクエリ、クエリの待ち状態、現在のクエリの実行開始時刻、プロセスの開始時刻、そして クライアントのアドレスとポート番号 . 現在のクエリに関するデータを報告するカラムは、stats_command_string パラメータが off になっていない限り、利用可能です。さらに、これらのカラムはビューを検証しているユーザがスーパーユーザであるか、レポート対象のプロセスを所有しているユーザと同じである場合にのみ表示されます。

これはデータベース上の現在のユーザーであり、例えば過去5分間のすべてのクエリを取得するために実行時間を開始することができます...

そのようなものです。