Вывод отладочной информации в PostgreSQL

Когда серверные функции становятся достаточно большими, то искать ошибки и медленные места становится тяжеловато. Помочь может вывод отладочной информации с помощью оператора RAISE.

У этой команды есть несколько вариантов, но в нашем случае нужен вот такой синтаксис:

level — уровень сообщения. Может быть DEBUG, LOG, INFO, NOTICE, WARNING или EXCEPTION. Для отладки можно использовать уровень DEBUG, а EXCEPTION означает ошибку. По умолчанию используется уровень сообщения EXCEPTION, что прерывает выполнение транзакции.

format — строка с сообщением. Можно использовать символ «%» для подстановки значений из expression.

expression — значения, которые будут подставляться в format.

Пример использования:

Что выведет примерно такое сообщение:

Логи можно смотреть в «C:\Program Files\PostgreSQL\9.3\data\pg_log» в случае Windows и во вкладке «Сообщения» в pgAdmin III.

По умолчанию сообщения с уровнем логгирования DEBUG не показываются, чтобы включить их нужно внести изменения в файл «postgresql.conf», который в случае с Windows находится по пути «C:\Program Files\PostgreSQL\9.3\data\postgresql.conf». Там нужно раскомментировать и поправить строки:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *