2015-10-21 4 views
0

Я новичок в postgreSQL, просто FYI.Ошибка журнала хранимых процедур в таблице PostgreSQL

Что я хочу сделать: зарегистрировать ошибки хранимой процедуры в таблице.

Что я хочу: имя и параметры SP, по крайней мере, ошибки, которые прерывают SP или вызывают сбои.

То, что я не хочу: ошибки синтаксиса и необходимость перехода к третьей стороне (выполнение логики в коде или вывод CSV в файл).

Сейчас я запускаю SQL-сервер, и у меня есть способ поймать ошибки, но он сначала переходит к моему коду, а затем к таблице, и обработка ошибок невелика. Я конвертирую в postgres и хочу иметь возможность отправлять ошибку прямо на стол, не переходя к третьей стороне, а также отправлять параметры, если это возможно. Кто-нибудь имеет информацию об этом или знает, возможно ли это вообще?

+1

Невозможно сделать (если ...) записи/вставки в таблицу журналов являются частью транзакции, поэтому они будут отменены при откат транзакции. – wildplasser

+2

Это можно сделать через DBLink, потому что это использует другую транзакцию, см., Например, здесь: http://stackoverflow.com/a/25428060/330315 и здесь: http://postgresql.nabble.com/autonomous-transactions-td1978453.html –

+0

Теоретически, если бы я использовал код, возможно ли это тогда? И тогда я смогу передать параметры? –

ответ

1

PostgreSQL поддерживает native logging to CSV files, который можно легко импортировать в базу данных. В документах предлагается даже предлагаемая схема и команда импорта.

+0

Да, я пытался обойти это и просто войти прямо в базу данных. После небольшого исследования и головной боли похоже, что это будет лучший путь. –

Смежные вопросы