Вы должны включить отладку в двух местах.На PGAdmin и на самой базе данных.Та статья, на которую вы ссылались, прекрасно объясняет это, но есть некоторые нюансы.
PGAdmin
При обновлении файла postgresql.conf
для загрузки библиотеки отладки я был работает PGAdmin в Windows , поэтому файл был здесь:
C:\Program Files\PostgreSQL\9.4\data\postgresql.conf
И путь к plugin_debugger.dll
был на самом деле
$libdir/plugin_debugger.dll
, а не
$libdir/plugins/plugin_debugger.dll
как указано в статье.Таким образом, вашему postgresql.conf
понадобится строка, подобная этой
shared_preload_libraries = '$libdir/plugin_debugger.dll'
Если вы сомневаетесь, найдите фактический файл .dll.Если вы работаете в Linux, то файл, который вы ищете, будет plugin_debugger.so
.Не забывайте, что для изменения файла postgresql.conf
потребуется перезапуск, чтобы изменения вступили в силу.
База данных PostgreSQL
Предполагается, что вы используете базу данных PostgreSQLна сервере Linux эта сущность отлично объясняет, как загрузить зависимости для включения отладки.При установке убедитесь, что вы работаете с правами суперпользователя.
Часть, которую легко пропустить, - это ввод команды для фактической базы данных, которую вы хотите отладить.Для более новых версий PostgreSQL все, что вам нужно сделать, это:
CREATE EXTENSION IF NOT EXISTS pldbgapi;
Если это не возвращает ошибку, вам стоит поработать.
Некоторые дополнительные вещипримечание:
- Как уже упоминалось выше, отладку можно выполнять только при работе с учетной записью суперпользователя
- Из их документов можно выполнять только отладку функций pl / pgsql.Так что если ваша функция говорит что-то вроде * 1048, то PGAdmin даже не отобразит опцию меню «Отладка» при щелчке правой кнопкой мыши при выборе функции.Найдите что-то с
LANGUAGE plpgsql
, и должно отобразиться меню отладки.