2009-02-04 27 views
8

Trong postgresql một truy vấn trong querylog được một cái gì đó như thế này:Làm thế nào để "tên" một truy vấn trong postgres

2009-02-05 00:12:27 CET LOG: duration: 3781.634 ms execute <unnamed>: SELECT QUERY .... 

Có một khả năng đặt một cái gì đó có thể sử dụng nhiều hơn vào "< giấu tên>" đặt như url truy vấn được yêu cầu từ đâu?

Có khả năng nào khác để theo dõi nguồn gốc của truy vấn trong postgresql bằng jdbc từ java không?

Cảm ơn

Trả lời

5

Câu trả lời ngắn là "không"

Tên có thể được thiết lập khi chuẩn bị báo cáo kết quả, sử dụng lệnh PREPARE, nhưng điều đó đòi hỏi phải viết lại tất cả các SQL của bạn. Không có tùy chọn để thêm một tham số tên vào các phương thức JDBC của bạn.

Trình điều khiển JDBC sử dụng cả các câu lệnh đã được đặt tên và chưa đặt tên. Nó sẽ cung cấp cho họ một tên khi nó muốn tái sử dụng chúng, mà nó sẽ cho là thích hợp nếu cùng một đối tượng PreparedStatement được thực thi 5 lần (mặc dù đó là cấu hình thông qua việc thiết lập các điểm chuẩn).

Documentation là here

Thông tin thêm cũng có thể được tìm thấy bằng cách tìm kiếm PostgreSQL JDBC mailling list

Các vấn đề liên quan