переопределения по умолчанию

Немного поработав над обаянием postgresql, и мне интересно, есть ли способ предоставить переопределения для значений по умолчанию «juju-way».

В своем обаянии, которое будет использовать сервисы, предоставляемые postgresql, я думал, что могу переопределить такие вещи, как имя базы данных или имя созданного super_user. Если я добавлю что-то вроде этого в реляционное соединение:

relation-set user=my_superuser

У меня возникнет проблема, из-за которой postgres / db-admin-Relations-Change может работать до того, как пользователь присоединится к работе (или завершит работу по крайней мере).

В конце концов, postgresql / db-admin-Relations-Changed запустится и получит мои данные, но если он запустится слишком быстро, я могу оказаться с двумя суперпользователями.

TL; DR: есть ли способ гарантировать, что конфигурация по умолчанию будет переопределена в службе на стороне предоставления?

3
задан 21 November 2012 в 22:19

1 ответ

Нет способа гарантировать, какой хук запускается первым в схеме выполнения хуков, но вы можете предсказать, какой ряд хуков будет выполняться первым. Когда добавляется отношение, сначала запускаются ловушки *-relation-joined (в обеих службах, без явного победителя, который идет первым), а затем ловушки *-relation-changed для каждой службы. Так как вы не можете гарантировать, какой из хуков who в данном состоянии отношений сработает первым, вы можете превзойти хук relation-changed на брелоке Postgres, поместив свои команды набора отношений в хук relation-joined в вашем брелке.

Это не сработает для каждого обаяния / отношения, так как это зависит от того, где выполняется тяжелая работа для каждого отношения. Например, шарм MySQL выполняет все инструкции по созданию базы данных во время ловушки relation-joined, поэтому вышеприведенное фактически не поможет вам достичь чего-либо, поскольку у вас все еще есть условие гонки.

В идеале, если нет действительно веских причин использовать то, что обеспечивает шарм postgres, это, вероятно, лучший путь.

0
ответ дан 21 November 2012 в 22:19

Другие вопросы по тегам:

Похожие вопросы: