chatdesk-ui/postgres_15.8.1.044/ansible/files/postgres_prestart.sh.j2

50 lines
1.3 KiB
Django/Jinja

#!/bin/bash
check_orioledb_enabled() {
local pg_conf="/etc/postgresql/postgresql.conf"
if [ ! -f "$pg_conf" ]; then
return 0
fi
grep "^shared_preload_libraries" "$pg_conf" | grep -c "orioledb" || return 0
}
get_shared_buffers() {
local opt_conf="/etc/postgresql-custom/generated-optimizations.conf"
if [ ! -f "$opt_conf" ]; then
return 0
fi
grep "^shared_buffers = " "$opt_conf" | cut -d "=" -f2 | tr -d ' ' || return 0
}
update_orioledb_buffers() {
local pg_conf="/etc/postgresql/postgresql.conf"
local value="$1"
if grep -q "^orioledb.main_buffers = " "$pg_conf"; then
sed -i "s/^orioledb.main_buffers = .*/orioledb.main_buffers = $value/" "$pg_conf"
else
echo "orioledb.main_buffers = $value" >> "$pg_conf"
fi
}
main() {
local has_orioledb=$(check_orioledb_enabled)
if [ "$has_orioledb" -lt 1 ]; then
return 0
fi
local shared_buffers_value=$(get_shared_buffers)
if [ ! -z "$shared_buffers_value" ]; then
update_orioledb_buffers "$shared_buffers_value"
fi
}
# Initial locale setup
if [ $(cat /etc/locale.gen | grep -c en_US.UTF-8) -eq 0 ]; then
echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen
fi
if [ $(locale -a | grep -c en_US.utf8) -eq 0 ]; then
locale-gen
fi
main