Если имеется ротация журналов, то необходимо также применить grep для всех журналов. Если журнал слишком старый и вы не сохранили предыдущие журналы где-то в другом месте, то вам не повезло. По умолчанию в postgresql. соп£ по поводу ротации указано: log_filename = ,postgresql-%Y-%m-*d_%H%M%S. log• log_rotation_age = Id Чтобы знать, какой пользователь совершил DDL-изменения, необходимо их также записывать в журнал.
Это можно обеспечить, включив в параметр Iog_iine_pref ix Строку в формате %и. Минимальный рекомендованный формат Iog_line_ prefix Для отслеживания DDL — %t %u %d; При этом каждая строчка журнала будет начинаться с указания времени, пользователя и базы данных. Если ведение журнала отключено или у вас есть не все журналы, то некоторую часть информации о том, кто и когда изменял схему БД, можно получить из системных таблиц, хотя это не самые надежные сведения. Что вы действительно узнаете, так это владельца объекта БД, но владелец мог быть По идентификатору транзакции в столбце Xmin В системных таблицах pg_ciass и pg_attrib можно определить примерное время создания объекта или время последнего изменения. Попробуйте найти близкие Xmin В какой-нибудь таблице, в которой автоматически записывается время вставки; возможно, в каком-либо столбце определено Здесь собраны различные способы получения информации об изменении данных, содержащихся в таблицах, для проведения аудита.
Рубрика: Женский интерес