Bagaimana Anda bisa membuat pengguna aktif terhubung ke database postgreSQL melalui SQL? Ini bisa menjadi userid atau jumlah pengguna.
sumber
Bagaimana Anda bisa membuat pengguna aktif terhubung ke database postgreSQL melalui SQL? Ini bisa menjadi userid atau jumlah pengguna.
(pertanyaan) Apakah Anda tidak mendapatkan info itu
pilih * dari pg_user ;
atau menggunakan tampilan pg_stat_activity :
select * from pg_stat_activity;
Ditambahkan:
pemandangan mengatakan:
Satu baris per proses server, menunjukkan database OID, nama database, ID proses, OID pengguna, nama pengguna , kueri saat ini, status tunggu kueri, waktu di mana kueri saat ini mulai dieksekusi, waktu di mana proses dimulai, dan alamat klien dan nomor port . Kolom yang melaporkan data pada kueri saat ini tersedia kecuali parameter stats_command_string telah dimatikan. Lebih lanjut, kolom ini hanya terlihat jika pengguna yang memeriksa tampilan adalah pengguna super atau sama dengan pengguna yang memiliki proses yang dilaporkan.
tidak bisakah Anda memfilter dan mendapatkan informasi itu? yang akan menjadi pengguna saat ini di Database, Anda dapat menggunakan waktu eksekusi mulai untuk mendapatkan semua kueri dari 5 menit terakhir misalnya ...
sesuatu seperti itu.
Menggunakan info balexandre:
SELECT usesysid, usename FROM pg_stat_activity;
sumber
client_addr
kueri di atas untuk mendapatkan IP klien.OP meminta pengguna yang terhubung ke database tertentu :
-- Who's currently connected to my_great_database? SELECT * FROM pg_stat_activity WHERE datname = 'my_great_database';
Ini memberi Anda semua jenis info menarik (seperti yang telah disebutkan orang lain) seperti
usesysid
)usename
)appname
), jika ada masalah untuk menyetel variabel itu -psql
apakah :-)client_addr
)query
)sumber