Как просмотреть журнал событий в 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).

→ Ссылка