Я не знаю простого способа, такого как настройка конфигурации, чтобы регистрировать только некоторые функции в PostgreSQL.(Если кто-то делает, мне интересно!)
Вы можете взломать источник функции, чтобы поднять уведомление о каждом вызове и перекомпилировать.
Или, если ваши знания о C устарели какмое, вы могли бы за очень небольшую цену производительности обернуть функцию в функцию plpgsql, которая вызывает уведомление / предупреждение до или после вызова dblink_exec.Например:
CREATE OR REPLACE FUNCTION mydblink_exec(text)
RETURNS text AS
$$
RAISE NOTICE 'My text. Called with: "%"', $1;
RETURN dblink_exec($1);
$$
LANGUAGE plpgsql VOLATILE STRICT;
Вы можете переместить оригинальные функции dblink_exec()
на другое имя или схему, чтобы сделать эту замену вставной.Делайте это только в случае необходимости.См. Ниже.
Осторожно, чтобы охватить все необходимые формы dblink_exec ().Я цитирую руководство :
dblink_exec(text connname, text sql [, bool fail_on_error]) returns text
dblink_exec(text connstr, text sql [, bool fail_on_error]) returns text
dblink_exec(text sql [, bool fail_on_error]) returns text
Для этого вы бы использовали перегрузку функции .
Осторожно с обновлением до новой версии PostgreSQL или переустановкоймодуль contrib dblink, если вы фактически переместите исходные функции в произвольное имя / схему.