Trạng thái IDLE biểu thị điều gì trong một hàng pg_stat_activity?


14

Ai đó có thể giải quyết những nghi ngờ dưới đây của tôi về vấn đề pg_stat_activitypostgres 9.5 không?

  1. Một số có thể cho tôi biết những gì state IDLEbiểu thị trong hàng pg_stat_activity? Có phải nó giống như nó kiểm tra tất cả các kết nối mở tới postgres và nếu kết nối không thực hiện bất kỳ truy vấn nào thì IDLEbiểu thị truy vấn cuối cùng được thực hiện bởi kết nối?
  2. Trong đầu ra của select * from pg_stat_activitytôi đang thấy các hàng với state IDLEquery_start_datehơn 2 ngày tuổi? Điều này có ý nghĩa gì? Tôi có nên lo lắng về điều này?
  3. Ai đó có thể cho tôi biết pg_stat_activity được tạo ra như thế nào không? Nếu tôi đang thực hiện một truy vấn như Select * from pg_stat_activitynó có tạo ra các chi tiết từ một số ảnh chụp nhanh được duy trì bởi các postgres hay nó kiểm tra các kết nối hiện tại mở trong postgres để cung cấp các chi tiết?

Câu trả lời:


11

Điều này đã được trả lời trong danh sách gửi thư của postgres

Mỗi hàng trong pg_stat_activity thể hiện một kết nối được thiết lập với máy chủ từ máy khách. "Không sử dụng" có nghĩa là máy khách hiện không thực hiện truy vấn cũng như trong giao dịch.

Nếu query_start_date là 2 ngày, điều đó chỉ có nghĩa là truy vấn cuối cùng được thực hiện trên kết nối đó là hai ngày trước.

Không thực sự là một lý do để lo lắng, trừ khi bạn có quá nhiều kết nối mở đến mức nó tiêu tốn nhiều RAM hơn mức bạn có thể chi trả. Nhìn chung, mong muốn một nhóm kết nối có một vài kết nối nhàn rỗi để các truy vấn không phải chịu độ trễ khi thiết lập kết nối mới.

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.