В Oracle у DBA есть возможность включить трассировку для уже работающей сессии.
Например, так:
В результате на сервере появится файл, который можно будет проанализировать.
В PostgreSQL для трассировки уже работающих сессий можно использовать следующий подход.
Для трассировки используются различные конфигурационные параметры, возьмем к примеру log_statement_stats.
Чтобы включить трассировку нужно знать <PID> серверного процесса, к которому нужно подключиться, и выполнить следующие действия:
но не применяет изменения. Для применения нужно перечитать конфигурацию.
Но перечитать нужно только в серверном процессе, который отлаживаем.
Поэтому вместо утилиты pg_ctl reload и функции pg_reload_conf() используем:
3. Удалим log_statement_stats из postgresql.auto.conf
Например, так:
DBMS_SYSTEM.set_sql_trace_in_session(sid=>123, serial#=>1234, sql_trace=>TRUE);
В результате на сервере появится файл, который можно будет проанализировать.
В PostgreSQL для трассировки уже работающих сессий можно использовать следующий подход.
Для трассировки используются различные конфигурационные параметры, возьмем к примеру log_statement_stats.
Чтобы включить трассировку нужно знать <PID> серверного процесса, к которому нужно подключиться, и выполнить следующие действия:
1. ALTER SYSTEM SET log_statement_stats TO on;
2. Как известно ALTER SYSTEM лишь записывает параметр в postgresql.auto.conf,но не применяет изменения. Для применения нужно перечитать конфигурацию.
Но перечитать нужно только в серверном процессе, который отлаживаем.
Поэтому вместо утилиты pg_ctl reload и функции pg_reload_conf() используем:
kill -s HUP <PID>
Статистика по всем командам только этого серверного процесса начинает записываться в журнал сервера.3. Удалим log_statement_stats из postgresql.auto.conf
ALTER SYSTEM RESET log_statement_stats;
Комментариев нет:
Отправить комментарий