Как отлаживать хранимые процедуры postgresql?
Я понимаю, что нет ничего похожего на SQL Server Management Studio, поэтому я мысленно готов использовать хорошую старую отладку printf.
Вопрос только в том, как делать "printf" из хранимой процедуры?
Ответы
Ответ 1
Чтобы "распечатать" сообщение, вы можете использовать raise notice
из функции PL/pgSQL:
http://www.postgresql.org/docs/current/static/plpgsql-errors-and-messages.html
Обратите внимание, что клиент должен установить значение "client_min_messages" на соответствующий уровень, чтобы получить "уведомление".
pgAdmin имеет отладчик для функций: http://www.pgadmin.org/docs/1.18/debugger.html
(Но я никогда не использовал его, поскольку я не использую pgAdmin).
Ответ 2
Похоже, вы ищете возможность отладки. PostgreSQL фактически представил эту функциональность, начиная с PostgreSQL 8.3.
![Отладчик]()
Это фантастика и полностью делает PostgreSQL в соответствии с ней tagline "самая передовая база данных с открытым исходным кодом мира". Это может вызвать неприятности, но эти ссылки могут помочь вам начать работу. После включения он позволяет вам устанавливать точки останова или определять ввод и оценивать функции через удобное контекстное меню в PGAdmin.
![Правое меню]()
Ответ 3
Наряду с командами trusty ol 'RAISE
есть также несколько сторонних инструментов, о которых я слышал, хотя я их никогда не использовал.