Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Hi All! Как узнать "кто" вызвал функцию? / 4 сообщений из 4, страница 1 из 1
19.07.2015, 20:36
    #39010832
VladM2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hi All! Как узнать "кто" вызвал функцию?
В БД есть функция, которая вызывается из многих мест(и из других функций и из приложения). Назовем ее условно UpdateEntity.
Есть ли возможность определить в UpdateEntity, кто ее дернул?
...
Рейтинг: 0 / 0
19.07.2015, 20:48
    #39010836
VladM2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hi All! Как узнать "кто" вызвал функцию?
в какую строну куда копать?
делать выборку из pg_stat_activity ? не то вроде
...
Рейтинг: 0 / 0
19.07.2015, 21:09
    #39010845
qwwq
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hi All! Как узнать "кто" вызвал функцию?
VladM2,

вообще-то добавьте необязательный параметр tag и передавайте в него что хотите.

с недавних времён -- вот это должно работать
http://www.postgresql.org/docs/9.4/static/plpgsql-control-structures.html

40.6.7. Obtaining Current Execution Information
Код: sql
1.
GET [ CURRENT ] DIAGNOSTICS variable { = | := } item [ , ... ];



Currently only one information item is supported. Status item PG_CONTEXT will return a text string with line(s) of text describing the call stack. The first line refers to the current function and currently executing GET DIAGNOSTICS command. The second and any subsequent lines refer to calling functions further up the call stack. For example:

я пока не пользовал -- тонкости не расскажу.

ну и current_query() в умелых руках что--то о себе умеет рассказать.
-- это к вопросу о "что" дернуло


кто дернул -- session_user :
http://www.postgresql.org/docs/9.4/static/functions-info.html
...
Рейтинг: 0 / 0
24.07.2015, 02:44
    #39014996
Warstone
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hi All! Как узнать "кто" вызвал функцию?
VladM2,

SELECT user, current_user;
???
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Hi All! Как узнать "кто" вызвал функцию? / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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