shared_buffers
O cache de buffer do próprio PostgreSQL, em memória compartilhada. O padrão é 128 MB, herança de uma época em que os servidores tinham uma fração da RAM de hoje.
Toda página lida do disco passa por esse pool, e toda escrita cai nele antes de ir para o WAL e, por fim, para os arquivos de dados. A diferença em relação ao buffer pool do MySQL é que o Postgres depende ao mesmo tempo do cache de páginas do próprio sistema operacional, o que faz os dados ficarem com frequência duas vezes na memória. O conselho padrão é, portanto, configurar algo em torno de um quarto da RAM da máquina e deixar o resto com o kernel — dar quase toda a memória ao Postgres, como se faz com o InnoDB, geralmente piora o desempenho em vez de melhorar. Alterar exige reinício, pois a região é alocada na inicialização.