powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Отладка функций в Dbeaver Postgres 11
3 сообщений из 3, страница 1 из 1
Отладка функций в Dbeaver Postgres 11
    #40091163
Гулин Федор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день всем.

Postgres 11 Azure
имеем 2 больших пакета и 30+ процедур портированных с оракла через ora2pg
на выходе > 50 Функций в Postgres
там же куча таблиц, вью 60+

Тул : Dbeaver
Логика достаточно сложная
в сложных функциях куча веток if endif
и вызов других функций.
я не автор оракл. исходников - поэтому логику понимаю но без деталей и комментов к сожалению в оракл. коде почти нет.

1?) Единственный способ который я нашел
это дебажить через принты
-- raise notice 'End: %', now() ;
причем для сложных кейсов я из функции делаю анонимный блок
с нужными параметрами - объявляю их как переменные
потому что даже когда показывает строку ошибки иногда сложно понять в чем дело

Хорошло что можно поставить manual commit - И коммитить в БД только когда кусок отлажен.

Есть ли еще какие способы или воркараунды ?
(в Dbeaver не видел брейкпойнтов
на др. тул переходить затруднительно в силу полиси на текущем местет работы )

2?) Чем грозят оставленные raise notice
в теле процедур
Есть одна осн. процедура сохранения документа - с очень хитрой логикой.
Отлаживая ее я понатыкал туда кучу raise notice
но не факт что отловил все кейсы
Пока я точно оставлю их (в окне output мне сильно полезно )
- но вопрос на будущее
...
Рейтинг: 0 / 0
Отладка функций в Dbeaver Postgres 11
    #40091271
Misha111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Гулин Федор,

тестировал дебаг в пгадмин. немного не привычно, но в целом работает. в бобре не довел до ума, тк не сильно было надо.

что делал (это памятка для себя, на стиль не обращайте внимание):

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
установил расширение pldebugger
 https://github.com/EnterpriseDB/pldebugger 
делал по инструкции 
 https://github.com/dbeaver/dbeaver/wiki/PGDebugger 
! дополнительно правил
shared_preload_libraries = '$libdir/plugin_debugger'

! дебажит только под суперюзером.

в пгадмин завелось нормально, юзать алт+и алт+о (что не очевидно)

в бобре не завел - нет визуализации шага в вызываемой процедуре (пишет номер строки, значения локальных переменных, но нет подсветки строки). возможно в ЕЕ едишен дела лучше

установка в бобре квест еще тот. нужно под админом добавить плагин из
 https://github.com/dbeaver/dbeaver/wiki/Optional-extensions#debugger-support 
( решение найдено в  https://github.com/dbeaver/dbeaver/issues/3261) 
...
Рейтинг: 0 / 0
Отладка функций в Dbeaver Postgres 11
    #40091274
Misha111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
и еще - если отлаживать через раиз нотисе, удобнее работать в PSQL. там стек ошибки более вменяемый. ИМХО.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Отладка функций в Dbeaver Postgres 11
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]