Я создаю рецепт Chef, который выполняет несколько функций, в том числе большой импорт данных в базу данных Postgresql.
Я использую супермаркет postgresql Кулинарная книга что позволяет мне создать файл конфигурации через node['postgresql']['config']
атрибуты.
Я хотел бы обновить конфигурацию в postgresql.conf во время выполнения моего рецепта, а именно установить значения, которые обслуживают большой импорт, непосредственно перед тем, как я сделаю этот большой импорт, и впоследствии, когда он будет завершен, обновите эти значения, чтобы они более обслуживались изо дня в день операции (в частности fsync
и full_page_writes
'выключен'перед импортом и повернуть те'на' после).
Я создал ресурсы ruby_block, которые позволяют мне обновлять node.default['postgresql']['config']['fsync/full_page_write']
через уведомление непосредственно перед и сразу после импорта, но эти изменения не сериализуются в postgresql.conf, я думаю, потому что postgresql::server_conf
уже запущен на этом этапе.
Есть ли способ сообщить поваренной книге postgresql, что я хотел бы иметь node['postgresql']['config']
сериализовано несколько раз во время выполнения?
Ответ нашел сам, суть (https://gist.github.com/mbokman/58b826258d05f1c7bec0) показывает, как я это сделал.