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 kèo bóng đá euro phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

F.3. kèo bóng đá euro

Thekèo bóng đá euroMô -đun cung cấp một phương tiện để ghi lại kèo bóng đá euro kế hoạch thực thi của kèo bóng đá euro câu lệnh chậm, mà không phải chạyGiải thíchbằng tay. Điều này đặc biệt hữu ích để theo dõi kèo bóng đá euro truy vấn không được tối ưu hóa trong kèo bóng đá euro ứng dụng lớn.

Mô-đun không cung cấp kèo bóng đá euro hàm có thể truy cập SQL. Để sử dụng nó, chỉ cần tải nó vào máy chủ. Bạn có thể tải nó vào một phiên riêng lẻ:

load 'kèo bóng đá euro';

(Bạn phải là siêu nhân để làm điều đó.) Cách sử dụng điển hình hơn là tải nó vào một số hoặc tất cả kèo bóng đá euro phiên bằng cách bao gồmkèo bóng đá euroinsession_preload_l Librieshoặcshared_preload_l LibriesinPostgreSql.conf. Sau đó, bạn có thể theo dõi kèo bóng đá euro truy vấn chậm bất ngờ bất kể khi nào chúng xảy ra. Tất nhiên có một mức giá trên chi phí cho điều đó.

F.3.1. Tham số cấu hình

Có một số tham số cấu hình kiểm soát hành vi củakèo bóng đá euro. 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ấtkèo bóng đá eurolog_min_durationNếu bạn muốn bất kỳ kết quả nào.

kèo bóng đá eurolog_min_duration(Số nguyên)

kèo bóng đá eurolog_min_durationlà thời gian thực hiện tuyên bố tối thiểu, tính bằng mili giây, sẽ khiến kế hoạch của tuyên bố được ghi lại. Đặt cái này thành không ghi lại tất cả kèo bóng đá euro gói. Trừ một (mặc định) vô hiệu hóa việc ghi nhật ký kèo bóng đá euro kế hoạch. Ví dụ: nếu bạn đặt nó thành250msSau đó, tất cả kèo bóng đá euro câu lệnh chạy 250ms trở lên sẽ được ghi lại. Chỉ kèo bóng đá euro siêu người dùng mới có thể thay đổi cài đặt này.

kèo bóng đá eurolog_analyze(Boolean)

kèo bóng đá eurolog_analyzeNguyên nhânGiải thích Phân tíchđầu ra, thay vì chỉGiải thíchđầu ra, sẽ được in khi kế hoạch thực thi được ghi lại. Tham số này bị tắt theo mặc định. Chỉ kèo bóng đá euro siêu người dùng mới có thể thay đổi cài đặt này.

Lưu ý:Khi tham số này được bật, thời gian quy hoạch trên mỗi kế hoạch xảy ra đối với tất cả kèo bóng đá euro câu lệnh được thực thi, liệu chúng có chạy đủ lâu để thực sự được ghi lại hay không. Điều này có thể có tác động cực kỳ tiêu cực đến hiệu suất. Tắtkèo bóng đá eurolog_timingcải thiện chi phí hiệu suất, với giá thu được ít thông tin hơn.

kèo bóng đá eurolog_buffers(Boolean)

kèo bóng đá eurolog_buffersKiểm soát xem liệu thống kê sử dụng bộ đệm có được in khi kế hoạch thực thi được ghi lại hay không; nó tương đương vớibộ đệmTùy chọnGiải thích. Tham số này không có hiệu lực trừ khikèo bóng đá eurolog_analyzeđược bật. Tham số này bị tắt theo mặc định. Chỉ kèo bóng đá euro siêu người dùng mới có thể thay đổi cài đặt này.

kèo bóng đá eurolog_timing(Boolean)

kèo bóng đá eurolog_timingKiểm soát xem thông tin thời gian mỗi nút được in khi kế hoạch thực thi được ghi lại; nó tương đương vớiTimingTùy chọnGiải thích. Chi phí của việc đọc liên tục đồng hồ hệ thống có thể làm chậm kèo bóng đá euro truy vấn đáng kể trên một số hệ thống, do đó, có thể hữu ích khi đặt tham số này thành TẮT khi chỉ cần số lượng hàng thực tế và không cần thời gian chính xác. Tham số này không có hiệu lực trừ khikèo bóng đá eurolog_analyzeđược bật. Tham số này được bật theo mặc định. Chỉ kèo bóng đá euro siêu người dùng mới có thể thay đổi cài đặt này.

kèo bóng đá eurolog_triggers(Boolean)

kèo bóng đá eurolog_triggersgây ra thống kê thực thi kích hoạt được bao gồm khi kế hoạch thực thi được ghi lại. Tham số này không có hiệu lực trừ khikèo bóng đá eurolog_analyzeđược bật. Tham số này bị tắt theo mặc định. Chỉ kèo bóng đá euro siêu người dùng mới có thể thay đổi cài đặt này.

kèo bóng đá eurolog_verbose(Boolean)

kèo bóng đá eurolog_verboseKiểm soát xem kèo bóng đá euro chi tiết dài dòng có được in khi kế hoạch thực thi được ghi lại hay không; nó tương đương vớiVerboseTùy chọnGiải thích. Tham số này bị tắt theo mặc định. Chỉ kèo bóng đá euro siêu người dùng mới có thể thay đổi cài đặt này.

kèo bóng đá eurolog_format(enum)

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

kèo bóng đá eurolog_nested_statements(Boolean)

kèo bóng đá eurolog_nested_statementsgây ra kèo bóng đá euro câu lệnh lồng nhau (kèo bóng đá euro 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ó kèo bóng đá euro kế hoạch truy vấn cấp cao nhất được ghi lại. Tham số này bị tắt theo mặc định. Chỉ kèo bóng đá euro siêu người dùng mới có thể thay đổi cài đặt này.

Trong cách sử dụng thông thường, kèo bóng đá euro tham số này được đặt trongPostgreSql.conf, mặc dù kèo bóng đá euro siêu người dùng có thể thay đổi chúng khi bay trong kèo bóng đá euro phiên riêng của họ. Cách sử dụng điển hình có thể là:

# Postgresql.conf
session_preload_l Librars = 'kèo bóng đá euro'

kèo bóng đá eurolog_min_duration = '3S'

F.3.2. Ví dụ

postgres =# load 'kèo bóng đá euro';
postgres =# đặt kèo bóng đá eurolog_min_duration = 0;
postgres =# set kèo bóng đá eurolog_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)
    - Tham 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