Bạn phải bật gỡ lỗi ở hai nơi. Trên PGAdmin và trên chính cơ sở dữ liệu. Bài viết mà bạn đã tham khảo đã thực hiện một công việc tuyệt vời khi giải thích nó nhưng có một số sắc thái.
PGAdmin
Khi cập nhật postgresql.conf
của bạn tệp để tải thư viện gỡ lỗi, tôi đã chạy PGAdmin trên Windows
vì vậy tệp ở đây:
C:\Program Files\PostgreSQL\9.4\data\postgresql.conf
Và đường dẫn đến plugin_debugger.dll
thực sự là
$libdir/plugin_debugger.dll
không
$libdir/plugins/plugin_debugger.dll
như được chỉ định trong bài báo. Vì vậy, postgresql.conf
của bạn sẽ cần một dòng như thế này
shared_preload_libraries = '$libdir/plugin_debugger.dll'
Tìm kiếm .dll thực tế nếu bạn nghi ngờ. Nếu bạn đang sử dụng Linux, tệp bạn sẽ tìm là plugin_debugger.so
. Đừng quên rằng thay đổi postgresql.conf
tệp sẽ yêu cầu khởi động lại để thay đổi có hiệu lực.
Cơ sở dữ liệu PostgreSQL
Giả sử bạn đang chạy cơ sở dữ liệu PostgreSQL của mình trên máy chủ Linux ý chính này thực hiện một công việc xuất sắc trong việc giải thích cách tải xuống các phụ thuộc để cho phép gỡ lỗi. Đảm bảo rằng bạn đang chạy dưới quyền root khi cài đặt.
Phần dễ bỏ sót là phát lệnh dựa trên cơ sở dữ liệu thực tế mà bạn muốn gỡ lỗi. Đối với các phiên bản mới hơn trên PostgreSQL, tất cả những gì bạn cần làm là:
CREATE EXTENSION IF NOT EXISTS pldbgapi;
Nếu điều đó không trả lại lỗi, bạn nên tiếp tục.
Một số điều cần lưu ý bổ sung:
- Như đã đề cập ở trên, bạn chỉ có thể gỡ lỗi khi chạy với tư cách tài khoản người dùng cấp cao
- Từ tài liệu của họ
bạn chỉ có thể gỡ lỗi các hàm pl / pgsql. Vì vậy, nếu hàm của bạn nói điều gì đó như
LANGUAGE c
PGAdmin thậm chí sẽ không hiển thị tùy chọn menu Gỡ lỗi nhấp chuột phải khi bạn chọn chức năng. Tìm thứ gì đó cóLANGUAGE plpgsql
và menu Gỡ lỗi sẽ hiển thị.