powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Погасить Пг после Х времени неактивности.
5 сообщений из 5, страница 1 из 1
Погасить Пг после Х времени неактивности.
    #39210549
Фотография Warstone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сейчас прорабатываю улучшение ситуации с тестированием кода на своем проекте. На текущий момент у нас тесты гоняются через SQLite, хотя боевая база у нас PostgreSQL. Нам это позволяет делать такой монстр как DBIX::Class (perl). Это все хорошо работает ровно до первой попытки написать что-то кроме банального CRUD'а. Когда начинаешь оптимизировать запросы начинаются разные WINDOW процедуры и т.д. Выносить такое дело в хранимки не получится по тем-же причинам (SQLite не поддерживает), да и в нашей компании религиозный запрет на логику в БД.

Тесты сделаны по принципу "куча тестовых файлов, каждый из который поднимает некоторое тестовое окружение и начинает себя тестировать". Поэтому хочется уметь поднять Пг на старте тестирования и положить в конце. Проблема в том, что понятие конца не существует (исторически, кому интересно - посмотрите на prove, у кого остались вопросы - prove -j8 допустим.).

Что хочется: Запускать СУБД перед тестами (UNIX_SOCKET онли и т.д. нагрузки там, понятно, не будет) и класть ее после окончания тестов. Проблема с последним. Реально текущие исследования не дали нормального ответа - как это сделать, кроме как по неактивности самого Пг. То есть если к нему нету коннектов более 5-10 секунд, то Пг должен самовыгрузиться и, желательно, прибрать за собой (удалить папку data), хотя и прибирать за собой не сильно надо (всегда можно обернуть в скрипт postmaster, который после него уберется).

Вопрос: Как заставить Пг выключиться после Х времени неактивности (нету коннектов)?
...
Рейтинг: 0 / 0
Погасить Пг после Х времени неактивности.
    #39210599
Фотография vyegorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Warstone,

Недавно во все активные ветки был добавлен функционал, который опускает экземпляр, если удалить $PGDATA/postmaster.pid.
Это отвечает на вопрос — как.

Я не знаю как у вас настроено логгирование, но я бы включил логгирование всех коннектов+дисконнектов. Тогда можно проверять возраст файла с логами и, скажем, если он старше 15 минут — вырубать. Для надёжности явно писать в лог (RAISE WARNING), если есть долгие прогоны.
...
Рейтинг: 0 / 0
Погасить Пг после Х времени неактивности.
    #39210778
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Непонятна сама задача зачем класть Postgress? Чем он мешает, когда крутится без подключений - жалко 0.1% производительности машины, которая и так простаивает?
2. Если все-таки очень хочется гасить Postgress, то тесты наверное чем-то запускаются и наверное это что-то знает, когда они закончились, и наверное там можно настроить еще одно задание?
...
Рейтинг: 0 / 0
Погасить Пг после Х времени неактивности.
    #39211497
Фотография Warstone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Локшин Марк1. Непонятна сама задача зачем класть Postgress? Чем он мешает, когда крутится без подключений - жалко 0.1% производительности машины, которая и так простаивает?У нас и так ЛА на деве меньше 4х не опускается... Где-то 10 серверников, порядка 50 инстансов различных игр. Сейчас это все в одной Пг базе сидит. (Проблема ЛА - не проблема, и не на стороне Пг, естественно). А если за собой не чистить, то будет больно. Хочется мобильности к тому-же.Локшин Марк2. Если все-таки очень хочется гасить Postgress, то тесты наверное чем-то запускаются и наверное это что-то знает, когда они закончились, и наверное там можно настроить еще одно задание?На этот вопрос ответ дан в первом посте. Считаем что это так карта легла что не получается без хаков.
vyegorovЯ не знаю как у вас настроено логгирование, но я бы включил логгирование всех коннектов+дисконнектов.Как надо - так и настрою. Я-же буду постмастер поднимать.
vyegorovТогда можно проверять возраст файла с логамиИнтересное решение.
...
Рейтинг: 0 / 0
Погасить Пг после Х времени неактивности.
    #39211513
Фотография Sayan Malakshinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Warstone,

Вот это нагуглилось: https://github.com/yandex-qatools/postgresql-embedded
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Погасить Пг после Х времени неактивности.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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