#2 06.05.12 22:35
Re: можно как-то логировать запросы psql клиента.
C postgre не работал. Но вообще наверняка принцип то же. Если на определенные таблицы надо то вешаем триггера и мониторим в них select SESSION_USER();. Что надо сливаем в лог. Тобишь мониторим по именам пользователей, соответственно должно быть введено соглашение, что они должны быть разные для разных приложений. В случае, когда триггеров нет, делаем класс-провайдер, ну и мониторим там.
Offline
#4 07.05.12 00:37
Re: можно как-то логировать запросы psql клиента.
Tinkoff, ну покопай в эту сторону может че придумаешь. Допустим в mysql можно SHOW PROCESSLIST; там по полю host смотреть на каком порту крутится само приложение и именно приложение, а не клиент.
К примеру:
Код::
SHOW PROCESSLIST; >>> '181', 'root', 'localhost:51502', NULL, 'Query', '0', NULL, 'SHOW PROCESSLIST'
Смотрим localhost:51502.
Далее:
Код::
netstat -tp | grep 51502 >>>tcp 0 0 PkBell:51502 PkBell:mysql ESTABLISHED 13303/mysql-workben
Смотрим mysql-workben - значит человек. Ну принцип думаю понятен. По сути перед тобой задача сделать профайлер. Вполне возможно что есть смысл поискать, нормальный профайлер, который может фильтровать вывод и писать лог. В MS SQL вообще красота с этим. ))
Еще как вариант использовать прокси+LUA. Но не знаю есть ли он для postgre, но это уже из разряда особых извращений.
Исправлено ItStorm (07.05.12 00:40)
Offline

