Postgres включает log_statement программно - PullRequest
0 голосов
/ 22 мая 2010

Я хочу включить ведение журнала всех операторов SQL, которые изменяют базу данных. Я мог получить это на своем компьютере, установив флаг log_statement в файле конфигурации, но его нужно включить на компьютере пользователя. Как вы включаете его из кода программы? (Я использую Python с psycopg2, если это имеет значение.)

1 Ответ

1 голос
/ 23 мая 2010

Фраза "ее нужно включить на компьютере пользователя" вводит в заблуждение, действительно ... Я предполагаю, что вы имеете в виду "со стороны пользователя (клиента)" .

В Postgresql некоторые параметры времени выполнения сервера могут быть изменены из соединения, но только из суперпользователя - и только для тех настроек, которые не требуют перезапуска сервера. Я не уверен, включает ли это много опций журнала. Вы можете попробовать что-то вроде:

SELECT set_config('log_XXX', 'off', false);

где log_XXX должен быть заменен соответствующей настройкой регистрации , а 'false '- значением, которое вы хотите установить.

Если это не сработает, думаю, вам не повезло.

...