thiết lập log_min_duration_statement bị bỏ qua


15

Tôi đang chạy Postgresql 9.1trên Ubuntu. Phiên bản Postgresql chính xác là 9.1+129ubuntu1như trình quản lý gói của tôi hiển thị.

Tôi có 2 cơ sở dữ liệu đang tích cực sử dụng và chúng được sử dụng từ một máy chủ từ xa.

Tôi muốn đăng nhập các truy vấn có thời gian thực hiện dài. Vì vậy, tôi đặt các tham số sau trong /etc/postgresql/9.1/main/postgresql.conftệp

log_min_duration_statement = 10000
log_statement = 'mod'

vì vậy Postgresql sẽ ghi nhật ký các truy vấn mất hơn 10 giây.

Nhưng khi tôi reloadcấu hình postgres, Postgresql bắt đầu ghi nhật ký mọi truy vấn phù hợp với log_statementgiá trị. Rằng tôi đặt thời lượng là 100 giây để chắc chắn

log_min_duration_statement = 100000

Nhưng Postgresql tiếp tục ghi nhật ký mọi truy vấn phù hợp với log_statementgiá trị, bất kể log_min_duration_statementgiá trị.

Thiết log_statementđể nonedường như để ngăn chặn khai thác gỗ.

Có cái gì đó mà tôi đã bỏ lỡ về cấu hình?


Điều này là bạn đăng nhập sự kết hợp của hai bộ chứ không phải giao điểm của nó. Tôi không biết nếu nó có thể được thực hiện như bạn muốn.
dezso

Vì vậy, tôi nên vô hiệu hóa (bình luận ra) log_statementđể log_min_duration_statementlàm việc?
FallenAngel

Nếu bạn chỉ muốn ghi lại tất cả báo cáo dài chạy (có thể là một SELECT, UPDATEhoặc một số DDL), sau đó có.
dezso

Câu trả lời:


21

Bạn đã gần. Ý tưởng cuối cùng của bạn thực sự là con đường để đi:

log_statement = none
log_min_duration_statement = 10000

Sau đó, sẽ không có câu lệnh nào được ghi lại, ngoại trừ những câu lệnh chạy dài hơn 10 giây - bao gồm cả chuỗi truy vấn. Ghi nhật ký có thể dường như dừng lại vì 10 giây là ngưỡng cao. Tôi đang sử dụng 2 giây bình thường, nhưng YMMV.

Câu trả lời liên quan này trên SO có nhiều hơn:
Không thể để log_min_duration_statement hoạt động


3
Hãy để tôi thêm rằng mặc định cho log_statementnone, vì vậy không đặt nó hoặc cài đặt để nonecó hiệu ứng tương tự.
dezso
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.