Làm thế nào để liệt kê các kết nối hoạt động trên PostgreSQL?


150

Có một lệnh trong PostgreSQL để chọn các kết nối hoạt động đến cơ sở dữ liệu nhất định không?

psqlnói rằng tôi không thể bỏ một trong các cơ sở dữ liệu của mình vì có các kết nối hoạt động với nó , vì vậy tôi muốn xem các kết nối đó là gì (và từ máy nào)



Tuyệt quá! tôi tìm kiếm (rất tệ) và không tìm thấy gì. Tôi có thể làm gì đó để đóng kết nối nhàn rỗi?
Diễn giả

Câu trả lời:


262

Ồ, tôi vừa tìm thấy lệnh đó trên diễn đàn PostgreSQL:

SELECT * FROM pg_stat_activity;

14
Nếu bạn muốn giới hạn nó chỉ trong một cơ sở dữ liệu, bạn có thể sử dụng CHỌN * TỪ pg_stat_activity WHERE datname = 'dbname';
dùng2182349

1
Làm thế nào tôi có thể có được kết nối cơ sở dữ liệu hoạt động từ dịch vụ được hỗ trợ cụ thể?
GunasekaranR

Và sau khi chạy pg_terminate_backendvà ứng dụng của tôi vẫn có thể chạy truy vấn đối với db nhưng tôi không thể thấy các kết nối mới trong pg_Stat_activity?
takacsot

37

Theo dõi sẽ cung cấp cho bạn các kết nối / truy vấn hoạt động trong postgres DB-

SELECT 
    pid
    ,datname
    ,usename
    ,application_name
    ,client_hostname
    ,client_port
    ,backend_start
    ,query_start
    ,query
    ,state
FROM pg_stat_activity
WHERE state = 'active';

Bạn có thể sử dụng 'nhàn rỗi' thay vì hoạt động để nhận các kết nối / truy vấn đã được thực hiện.


1
Có nhàn rỗi có nghĩa là kết nối đang hoạt động?. Nếu tôi phát hành kết nối, nó vẫn sẽ được liệt kê là không hoạt động?
Shivam Kubde

1
Có @ShivamKubde nhưng là 'nhàn rỗi', và các truy vấn trên chỉ hiển thị các kết nối 'hoạt động', vì vậy loại bỏ các WHERE ...điều khoản và để có thể xem những gì các kết nối đang hoạt động hoặc nhàn rỗi add cột statevào SELECTkhoản
Mariano Ruiz

6
SELECT * FROM pg_stat_activity WHERE datname = 'dbname' and state = 'active';

pg_stat_activitychứa thống kê kết nối của tất cả các cơ sở dữ liệu có bất kỳ trạng thái nào, idlehoặc active, tên cơ sở dữ liệu và trạng thái kết nối phải được đưa vào truy vấn để có được đầu ra mong muốn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.