Разница между sharedbuffers и effectivecache_size в PostgreSQL заключается в их функциях и назначении.
Sharedbuffers определяет объём совместно используемой памяти, которая выделяется PostgreSQL для кэширования данных. 14 Эта память разделяется между всеми процессами PostgreSQL. 2 Оптимальное число sharedbuffers зависит от количества оперативной памяти компьютера, размера базы данных, числа соединений и сложности запросов. 4
Effectivecachesize сообщает PostgreSQL примерный объём файлового кэша операционной системы. 45 Оптимизатор использует эту оценку для построения плана каждого запроса. 45 Effectivecachesize не выделяет и не резервирует память, это просто указание для планировщика. 2
Таким образом, sharedbuffers определяет размер памяти, необходимой для выполнения активных операций, в то время как effectivecache_size оценивает объём памяти, доступной для кэширования диска операционной системой и самой базой данных. 2