Как просмотреть журнал событий в PostgreSQL
Хочу посмотреть журнал событий, которые выполнял с БД (PostgreSQL), но что-то не могу найти команды для этого действия.
Хотел бы выводить: дату, время, пользователь которой зашел и какой запрос выполнил. Кто может подсказать с этим.
Знаю такую команду SELECT * FROM pg_stat_activity , но тут как-то не точно пишет
Ответы (1 шт):
Хотел бы выводить: дату, время, пользователь которой зашел и какой запрос выполнил.
А с чего вы взяли, что эти гигабайты логов вообще куда-то сохраняются по-умолчанию? Их легко в день может быть больше чем сама база по объёму.
Сначала сами явным образом настраиваете логирование, потом ищете что вам понадобилось в логах. Вероятно вы захотите включить log_connections, log_disconnections, поменять log_line_prefix (либо задать log_destination = csv чтобы получить логи в csv формате) и поставить log_statement = all
view pg_stat_activity показывает серверные процессы этого экземпляра postgresql (у вас может не быть прав на отображение всех полей этого view). Те, которые backend_type = 'client backend', - процессы обслуживающие подключённых прямо сейчас клиентов и для них, в частности, поле query - последний выполненный запрос в этой сессии (или выполняемый сейчас в зависимости от state).