PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Làm thế nào để sử dụng pg_stat_activity?

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.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để sao chép từ tệp CSV sang bảng PostgreSQL với tiêu đề trong tệp CSV?

  2. Cách triển khai các ưu tiên trong SQL (postgres)

  3. 4 cách để chọn hàng trùng lặp trong PostgreSQL

  4. Làm cách nào để đặt cơ sở dữ liệu dưới quyền git (kiểm soát phiên bản)?

  5. Tôi có thể sử dụng giá trị trả về của INSERT ... RETURNING trong một INSERT khác không?