postgrespro/mamonsu

Предлагаю сделать обязательным ключ "-d" для bootstrap

Klink0v opened this issue · 1 comments

Предлагаю сделать обязательным (mandatory) ключ "-d" (выбор базы данных) для операции "mamonsu bootstrap".

Обосновываю.

mamonsu bootstrap по определению должен запускаться от имени суперпользователя базы данных. На большинстве современных дистрибутивов это делается командой типа

sudo -u postgres /usr/bin/mamonsu bootstrap -M mamonsu

При этом соединение с сервером БД происходит через Unix Socket, пароль от пользователя "postgres" не запрашивается.

По умолчанию создание схемы и функций mamonsu происходит в базе данных "по умолчанию", которой для пользователя "postgres" также будет являться "postgres". И при последующем запуска демона mamonsu он совершенно справедливо не найдёт базы данных с именем "mamonsu", а к базе данных "postgres" у него не хватит прав.

Поэтому в подавляющем большинстве случаев использования bootstrap необходимо явно указывать базу данных для mamonsu с ключом "-d". Начинающие же пользователи, как правило, тупо копируют из официальной методички примеры использования, а потом долго не понимают почему у них ничего не работает.

Это не баг mamonsu как таковой, но на usability сказывается очень сильно.

Добрый день! Это хорошая идея. В новом релизе немного изменили поведение bootstrap: теперь без явного указания параметр dbname автоматически заполняется данными из конфигурационного файла (база, указанная в секции [postgres]). Возможность задать dbname вручную также осталась. Конфигурационный файл можно указать явно, если он не совпадает с дефолтным /etc/mamonsu/agent.conf, с помощью опции -c/--config.