Помогите найти внятную информацию, как настроить постгрес для работы в контейнере, чтобы укладывался в целевые показатели по ограничению памяти. К примеру сейчас запустил постгрес, он скушал 90 МБ. Далее в течение нескольких дней, исходя из опыта, его потребление вырастет примерно до 2 GB. При этом он вообще-то и сейчас нормально работает и было бы неплохо его ограничить, скажем, 100 МБ. Но если я просто поставлю лимит, то его грохнет OOM Killer через несколько часов.
В конфиге я вижу следующее (значения не по умолчанию):
listen_addresses = '*'
max_connections = 1000 # (change requires restart)
shared_buffers = 128MB # min 128kB
dynamic_shared_memory_type = posix # the default is usually the first option
max_wal_size = 1GB
min_wal_size = 80MB
Число соединений к базе со временем не растёт, с ней работает один сервис через одно соединение.
Насколько я понял, потребляется 128 MB на весь сервер + work_mem (4MB) на каждое соединение + temp_buffers (8 MB) иногда. Ещё может быть maintenance_work_mem (64 MB). Откуда тут гигабайты набегают - непонятно.