2013-11-25 35 views
19

Tôi nhận ra rằng không có gì tương tự với SQL Server Management Studio, vì vậy tôi đã chuẩn bị tinh thần để sử dụng bản sửa lỗi printf cũ tốt.Làm thế nào để gỡ lỗi các thủ tục lưu trữ postgresql?

Câu hỏi duy nhất là cách thực hiện "printf" từ quy trình được lưu trữ?

+1

'thông báo nâng cao' (http://www.postgresql.org/docs/current/static/plpgsql-errors-and-messages.html) sẽ là tương đương. Nhưng pgAdmin có trình gỡ lỗi cho PL/pgSQL: http://www.pgadmin.org/docs/1.18/debugger.html –

+1

Vui lòng sắp xếp làm câu trả lời để tôi có thể ghi có cho bạn. Thú vị, tôi đang sử dụng pgAdmin, nhưng không nhận thấy nó có một trình gỡ rối. Tôi sẽ kiểm tra nó. Cảm ơn. – mark

Trả lời

24

Để "in" một tin nhắn, bạn có thể sử dụng raise notice từ bên trong một hàm PL/pgSQL:
http://www.postgresql.org/docs/current/static/plpgsql-errors-and-messages.html

Lưu ý rằng khách hàng phải đã thiết lập các giá trị của "client_min_messages" đến mức phù hợp để nhận được "thông báo".

pgAdmin có một trình gỡ lỗi cho các chức năng: http://www.pgadmin.org/docs/1.18/debugger.html

(Nhưng tôi chưa bao giờ sử dụng nó như tôi không sử dụng pgAdmin).

5

Cùng với lệnh ol 'RAISE đáng tin cậy, cũng có một số công cụ của bên thứ ba mà tôi đã nghe nói, mặc dù tôi chưa bao giờ sử dụng chúng.

+0

Máy chủ nâng cao Postgres Plus có vẻ như là một điều thực sự thú vị, nhưng nó là phạm vi cho tôi, vì nó đòi hỏi phải có giấy phép để mua và giấy phép đó khá đắt tiền cho một cá nhân. – mark

7

Có vẻ như bạn đang tìm kiếm khả năng gỡ lỗi thực tế. PostgreSQL đã giới thiệu chức năng này bắt đầu bằng PostgreSQL 8.3.

Debugger

Thật tuyệt vời và hoàn toàn làm cho PostgreSQL sống theo đó là khẩu hiệu "cơ sở dữ liệu mã nguồn mở tiên tiến nhất của thế giới". Thật là rắc rối khi chạy nhưng theselinks có thể giúp bạn bắt đầu. Khi được kích hoạt, nó cho phép bạn thiết lập các điểm ngắt hoặc xác định đầu vào & đánh giá tất cả các chức năng thông qua một menu chuột phải tiện dụng trong PGAdmin. Right click menu

+0

Bạn có biết nếu có thể đánh giá hoặc tìm ra một giá trị var không được khai báo? Giống như từ một lựa chọn ... –

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