06 октября 2025

Восстановить запись в журнал сообщений PostgreSQL

Обратил внимание на одну маленькую неприятную особенность PostgreSQL – если удалить текущий файл журнала сообщений, то сервер не создаст новый файл, пока не наступит момент ротации файла. Это наблюдается и под Windows и под Linux. Что делать, если log_rotation_age большой или вовсе установлен в ноль и смена файлов по времени не производится? Можно наплевать на подключенных к базам данных пользователей и перегрузить PostgreSQL. Но есть более безболезненный способ.
В подобной ситуации можно вызвать функцию pg_rotate_logfile, которая указывает менеджеру журнала сообщений, что необходимо немедленно переключиться на новый файл журнала:

select pg_rotate_logfile();
Функция pg_rotate_logfile() была добавлена в PostgreSQL 8.1.

Комментариев нет:

Отправить комментарий