powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / PostgreSQL держит лог-файл открытым на запись
13 сообщений из 13, страница 1 из 1
PostgreSQL держит лог-файл открытым на запись
    #40028031
Cyrax_02
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если верить fuser , то PostgreSQL при запуске открывает лог-файл и держит его открытым на запись.
Можно ли изменить эту политику, чтобы он открывал лог-файл только при записи ? Как это делает Redis .

Текущая логика работы PostgreSQL приводит к тому, что из хост-машины невозможно очистить лог-файл, открытый на запись в гостевой машине: " файл занят другим процессом ". ( PostgreSQL работает в гостевой ОС, где общая папка (с логами) хост-машины примонтирована в качестве сетевой файловой системы).
...
Рейтинг: 0 / 0
PostgreSQL держит лог-файл открытым на запись
    #40028032
Фотография mefman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cyrax_02
Если верить fuser , то PostgreSQL при запуске открывает лог-файл и держит его открытым на запись.
Можно ли изменить эту политику, чтобы он открывал лог-файл только при записи ? Как это делает Redis .

Текущая логика работы PostgreSQL приводит к тому, что из хост-машины невозможно очистить лог-файл, открытый на запись в гостевой машине: " файл занят другим процессом ". ( PostgreSQL работает в гостевой ОС, где общая папка (с логами) хост-машины примонтирована в качестве сетевой файловой системы).

интересно девки пляшут.
...
Рейтинг: 0 / 0
PostgreSQL держит лог-файл открытым на запись
    #40028042
Cyrax_02
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mefman , всего знать невозможно (это ирония).
...
Рейтинг: 0 / 0
PostgreSQL держит лог-файл открытым на запись
    #40028050
Фотография ptr128
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cyrax_02, Вы имеете в виду WAL или лог сообщений сервера? Первый обязан быть открыт все время. Без вариантов. Второй никто не запрещает завернуть на syslog и там делать с ним все, что только душе угодно.
...
Рейтинг: 0 / 0
PostgreSQL держит лог-файл открытым на запись
    #40028065
Cyrax_02
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ptr128Вы имеете в виду WAL или лог сообщений сервера?
Лог сообщений сервера

ptr128никто не запрещает завернуть на syslog и там делать с ним все, что только душе угодно.
Так мне не нужно " всё, что угодно ". Нужно, чтобы лог PostgreSQL был в отдельном файле. И чтобы не находился всё время в открытом состоянии (как я написал выше, на хост-машине такой файл редактировать не удаётся).
...
Рейтинг: 0 / 0
PostgreSQL держит лог-файл открытым на запись
    #40028087
Фотография ptr128
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cyrax_02, вот и заверните его в syslog, а оттуда уже куда угодно. Хоть в файл на хост-машину, хоть в syslog хост-машины.
...
Рейтинг: 0 / 0
PostgreSQL держит лог-файл открытым на запись
    #40028099
Cyrax_02
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторCyrax_02, вот и заверните его в syslog, а оттуда уже куда угодно. Хоть в файл на хост-машину, хоть в syslog хост-машины.
Вариант потребует изменения настроек на dev-сервере не только rsyslog, но и настроек всех "проблемных" сервисов (PostgreSQL, nginx и пр.), и создания дополнительных файлов в гостевой машине. В итоге окружение dev-сервера в плане логирования будет существенно отличаться от dep-сервера, что является нежелательным.
...
Рейтинг: 0 / 0
PostgreSQL держит лог-файл открытым на запись
    #40028102
Фотография ptr128
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cyrax_02, Ваш выбор. Но для продуктива сбор всех логов через syslog - рекомендуемый путь. А уже куда дальше они уходят - одна строка настройки. Обычно, действительно, на rsyslog выделенного хоста, где уже анализируются и мониторятся.
...
Рейтинг: 0 / 0
PostgreSQL держит лог-файл открытым на запись
    #40028108
Cyrax_02
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторНо для продуктива сбор всех логов через syslog - рекомендуемый путь.
Логи ошибок и логи доступа (например, в nginx ) могут представлять собой не один файл, а набор структурированных файлов (состав которых определяется настройками сервиса) и аккуратно складываемых в директорию /var/log/service . Если их перенаправить на syslog , эта структура будет потеряна...
...
Рейтинг: 0 / 0
PostgreSQL держит лог-файл открытым на запись
    #40028125
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cyrax_02
авторНо для продуктива сбор всех логов через syslog - рекомендуемый путь.

Логи ошибок и логи доступа (например, в nginx ) могут представлять собой не один файл, а набор структурированных файлов (состав которых определяется настройками сервиса) и аккуратно складываемых в директорию /var/log/service . Если их перенаправить на syslog , эта структура будет потеряна...

Короткий ответ НИ КАК и не делайте так.
ps: на нормальных OS можно сделать truncate на файл открытый другими процессами (что позволяет logrotate файла через copy + truncate не спрашивая базу).

Что еще можно посоветовать - ротировать лог раз в сутки средствами базы тогда и проблемы не будет так как очищать надо будет старые закрытые лог файлы а не текущий.

--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru
...
Рейтинг: 0 / 0
PostgreSQL держит лог-файл открытым на запись
    #40028961
Cyrax_02
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Maxim Bogukна нормальных OS можно сделать truncate на файл открытый другими процессами (что позволяет logrotate файла через copy + truncate не спрашивая базу).
В гостевой ОС проблем с редактированием и очисткой таких файлов нет (WinSCP/SFTP плевал на блокировку).
Проблема как раз в очистке лог-файлов из хост-машины. Вот там уже совсем не плевать: "файл занят другим процессом" .

Maxim Boguk...ротировать лог раз в сутки средствами базы тогда и проблемы не будет так как очищать надо будет старые закрытые лог файлы а не текущий.
Задача заключается в ручной очистке логов (по мере необходимости) из хост-машины.
Через WinSCP неудобно - придётся держать его открытым. Да ещё по вкладке на каждый лог...
...
Рейтинг: 0 / 0
PostgreSQL держит лог-файл открытым на запись
    #40028963
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cyrax_02,

механизмы логов в postgresql рассчитаны на лог 10-100gb в сутки... при таких объемах переоткрывать лог файл 100 раз в секунду становится очень дорого.
Тем более что то придумывать для лечения такой нетиповой проблемы/конфигурации как у вас.


--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru
...
Рейтинг: 0 / 0
PostgreSQL держит лог-файл открытым на запись
    #40028966
Cyrax_02
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Maxim Bogukмеханизмы логов в postgresql рассчитаны на лог 10-100gb в сутки... при таких объемах переоткрывать лог файл 100 раз в секунду становится очень дорого.Это на dep-сервере. А речь в сабже идёт про dev-сервер (процесс разработки/отладки).
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / PostgreSQL держит лог-файл открытым на запись
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]