Phiên bản được hỗ trợ:hiện tại(17) /16 / 15 / 14 / 13
Phiên bản phát triển:18 / Devel
Phiên bản không được hỗ trợ:12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4
Tài liệu này dành cho phiên bản không được hỗ trợ của PostgreSQL.
Bạn có thể muốn xem cùng một trang chohiện tạiPhiên bản hoặc một trong các phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

F.3. tỷ lệ kèo bóng đá

Thetỷ lệ kèo bóng đáMô -đun cung cấp a có nghĩa là tự động đăng nhập các kế hoạch tỷ lệ kèo bóng đá thi của các câu lệnh chậm, mà không cần phải chạyGiải thích9276_9376

Mô-đun không cung cấp các hàm có thể truy cập SQL. Để sử dụng nó, Đơn giản chỉ cần tải nó vào máy chủ. Bạn có thể tải nó vào một cá nhân phiên họp:

load 'tỷ lệ kèo bóng đá';

9580_9685tỷ lệ kèo bóng đáin9794_9820inPostgreSql.conf. Sau đó, bạn có thể theo dõi Các truy vấn chậm bất ngờ bất kể khi chúng xảy ra. Tất nhiên rồi Có một mức giá trong chi phí cho điều đó.

F.3.1. tỷ lệ kèo bóng đá số cấu hình

Có một số tỷ lệ kèo bóng đá số cấu hình kiểm soát Hành vi củatỷ lệ kèo bóng đá. Lưu ý rằng Hành vi mặc định là không làm gì, vì vậy bạn phải đặt ít nhấttỷ lệ kèo bóng đálog_min_durationNếu bạn muốn mọi kết quả.

tỷ lệ kèo bóng đálog_min_duration(Số nguyên)

tỷ lệ kèo bóng đálog_min_duration10572_10802250msSau đó, tất cả Các tuyên bố chạy 250ms hoặc lâu hơn sẽ được ghi lại. Chỉ những siêu nhân có thể thay đổi cài đặt này.

tỷ lệ kèo bóng đálog_analyze(Boolean)

tỷ lệ kèo bóng đálog_analyzeNguyên nhânGiải thích Phân tíchđầu ra, thay vì chỉGiải thíchđầu ra, được in khi Kế hoạch thực thi được ghi lại. tỷ lệ kèo bóng đá số này bị tắt theo mặc định. Chỉ một Superusers có thể thay đổi cài đặt này.

Lưu ý:Khi tỷ lệ kèo bóng đá số này, thời gian lên kế hoạch xảy ra cho tất cả các tuyên bố được thực thi, cho dù chúng có chạy lâu hay không Đủ để thực sự được ghi lại. Điều này có thể có một cực kỳ tiêu cực tác động đến hiệu suất. Tắttỷ lệ kèo bóng đálog_timingcải thiện hiệu suất Chi phí, với giá có được ít thông tin hơn.

tỷ lệ kèo bóng đálog_buffers(Boolean11854_11857

tỷ lệ kèo bóng đálog_buffersĐiều khiển Liệu số liệu thống kê sử dụng bộ đệm có được in khi kế hoạch tỷ lệ kèo bóng đá thi được ghi lại; nó tương đương vớibộ đệmTùy chọn củaGiải thích. tỷ lệ kèo bóng đá số này không có hiệu ứng trừ khitỷ lệ kèo bóng đálog_analyzeIS Đã bật. tỷ lệ kèo bóng đá số này bị tắt theo mặc định. Chỉ những siêu nhân mới có thể Thay đổi cài đặt này.

tỷ lệ kèo bóng đálog_timing(Boolean)

tỷ lệ kèo bóng đálog_timingĐiều khiển Liệu thông tin thời gian mỗi nút có được in hay không khi tỷ lệ kèo bóng đá hiện kế hoạch được ghi lại; nó tương đương vớiTimingTùy chọnGiải thích. Chi phí đọc liên tục đồng hồ hệ thống có thể làm chậm Truy vấn đáng kể trên một số hệ thống, vì vậy nó có thể hữu ích khi đặt tỷ lệ kèo bóng đá số này để tắt khi chỉ số lượng hàng thực tế và không chính xác thời gian, là cần thiết. tỷ lệ kèo bóng đá số này không có hiệu lực trừ khitỷ lệ kèo bóng đálog_analyzeđược bật. tỷ lệ kèo bóng đá số này được mặc định. Chỉ các siêu người dùng mới có thể thay đổi cài đặt này.

tỷ lệ kèo bóng đálog_verbose(Boolean)

tỷ lệ kèo bóng đálog_verboseĐiều khiển Liệu các chi tiết dài dòng có được in khi kế hoạch tỷ lệ kèo bóng đá thi là đăng nhập; nó tương đương vớiVerboseTùy chọnGiải thích. tỷ lệ kèo bóng đá số này bị tắt Theo mặc định. Chỉ các siêu người dùng mới có thể thay đổi cài đặt này.

tỷ lệ kèo bóng đálog_format(enum)

tỷ lệ kèo bóng đálog_formatChọnGiải thíchĐịnh dạng đầu ra sẽ được sử dụng. Các Các giá trị được phép làText, XML, jsonYAML. Mặc định là văn bản. Chỉ những siêu nhân mới có thể Thay đổi cài đặt này.

tỷ lệ kèo bóng đálog_nested_statements(Boolean)

tỷ lệ kèo bóng đálog_nested_statementsgây ra các câu lệnh lồng nhau (câu lệnh được thực thi bên trong một hàm) được xem xét để ghi nhật ký. Khi nó tắt, chỉ có truy vấn cấp cao nhất kế hoạch được ghi lại. tỷ lệ kèo bóng đá số này bị tắt theo mặc định. Chỉ những siêu nhân có thể thay đổi cài đặt này.

14300_14349PostgreSql.conf, mặc dù các siêu người dùng có thể thay đổi chúng Trên đường bay trong các phiên riêng của họ. Cách sử dụng điển hình có thể là:

# Postgresql.conf
Shared_Preload_L Libries = 'tỷ lệ kèo bóng đá'

tỷ lệ kèo bóng đálog_min_duration = '3S'

F.3.2. Ví dụ

postgres =# load 'tỷ lệ kèo bóng đá';
postgres =# đặt tỷ lệ kèo bóng đálog_min_duration = 0;
postgres =# set tỷ lệ kèo bóng đálog_analyze = true;
Postgres =# Chọn đếm (*)
           Từ pg_class, pg_index
           Trong đó oid = indrelid và indisunique;

Điều này có thể tạo ra đầu ra nhật ký như:

Log: Thời lượng: 3.651 Kế hoạch MS:
  Truy vấn văn bản: Chọn Đếm (*)
              Từ pg_class, pg_index
              Trong đó oid = indrelid và indisunique;
  Tổng hợp (chi phí = 16,79..16,80 hàng = 1 chiều rộng = 0) (thời gian thực tế = 3.626..3.627 hàng = 1 vòng lặp = 1)
    - tỷ lệ kèo bóng đá gia băm (chi phí = 4.17..16,55 hàng = 92 chiều rộng = 0) (thời gian thực tế = 3.349..3.594 hàng = 92 vòng lặp = 1)
          Hash Cond: (pg_class.oid = pg_index.indrelid)
          - SEQ SCAN trên pg_class (chi phí = 0,00..9,55 hàng = 255 chiều rộng = 4) (thời gian thực tế = 0,016..0.140 hàng = 255 vòng = 1)
          - băm (chi phí = 3.02..3.02 hàng = 92 chiều rộng = 4) (thời gian thực tế = 3.238..3.238 hàng = 92 vòng = 1)
                Xô: 1024 lô: 1 Bộ nhớ Sử dụng: 4kb
                - SEQ SCAN trên pg_index (chi phí = 0,00..3.02 hàng = 92 chiều rộng = 4) (thời gian thực tế = 0,008..3.187 hàng = 92 vòng = 1)
                      Bộ lọc: Indisunique