Xem câu trả lời có liên quan chặt chẽ này cho câu hỏi "Thời gian thực hiện truy vấn Postgres" .
pg_stat_activity
là một chế độ xem trong pg_catalog
lược đồ.
Bạn có thể truy vấn nó bằng cách SELECT
ing từ nó giống như bất kỳ bảng nào khác, ví dụ:SELECT * FROM pg_stat_activity
. Trang thủ công mà bạn đã liên kết đến giải thích các cột của nó.
Đôi khi bạn sẽ thấy mình muốn tham gia vào các bảng khác như pg_class
(bảng), pg_namespace
(lược đồ), v.v.
Hạn chế
pg_stat_activity
không tiết lộ thông tin về việc sử dụng bộ nhớ phụ. Bạn cần sử dụng các phương tiện cấp hệ điều hành cho việc đó. Tuy nhiên nó không cho bạn biết ID quy trình, người dùng đang hoạt động, truy vấn hiện đang chạy, trạng thái hoạt động, thời gian truy vấn cuối cùng bắt đầu, v.v. Nó rất tốt cho việc xác định idle in transaction
phiên, truy vấn chạy rất dài, v.v.
Thành thật mà nói, tính năng giám sát tích hợp của PostgreSQL khá thô sơ. Đó là một trong những lĩnh vực không thú vị để làm việc và các khách hàng thương mại thường không sẵn sàng tài trợ cho nó. Hầu hết mọi người đều kết hợp các công cụ như check_postgres
với Icinga và Munin, hoặc sử dụng Zabbix hoặc các tác nhân giám sát bên ngoài khác.
Trong trường hợp của bạn, có vẻ như bạn thực sự muốn pg_stat_statements
và / hoặc PgBadger
phân tích nhật ký với các cài đặt ghi nhật ký phù hợp và có thể là auto_explain
mô-đun.