in files/gitlab-cookbooks/patroni/libraries/patroni_helper.rb [43:86]
def dynamic_settings(pg_helper)
dcs = {
'postgresql' => {
'parameters' => {}
},
'slots' => {}
}
DCS_ATTRIBUTES.each do |key|
dcs[key] = node['patroni'][key]
end
DCS_POSTGRESQL_ATTRIBUTES.each do |key|
dcs['postgresql'][key] = node['patroni'][key]
end
node['patroni']['postgresql'].each do |key, value|
dcs['postgresql']['parameters'][key] = value
end
if (pg_helper.database_version || pg_helper.version).major.to_i >= 13
dcs['postgresql']['parameters'].delete('wal_keep_segments')
else
dcs['postgresql']['parameters'].delete('wal_keep_size')
end
node['patroni']['replication_slots'].each do |slot_name, options|
dcs['slots'][slot_name] = parse_replication_slots_options(options)
end
if node['patroni']['standby_cluster']['enable']
dcs['standby_cluster'] = {}
node['patroni']['standby_cluster'].each do |key, value|
next if key == 'enable'
dcs['standby_cluster'][key] = value
end
end
dcs
end