You should take into account mainly the following parameters.
shared_buffers work_mem maintenance_work_mem effective_cache_size
Aboutshared_buffers:
- Below 2GB,set to 20% of total system memory.
- Below 32GB,set to 25% of total system memory.
- Above 32GB,set to 8GB
Aboutwork_mem,this parameter can cause a huge speed-up if set properly,however it can use that amount of memory per planning node.
Here are some recommendations to set it up.
- Start low: 32-64MB
- Look for ‘temporary file’ lines in logs
- Set to 2-3x the largest temp file
Aboutmaintenance_work_mem,here are some recommandations:
- 10% of system memory,up to1GB
- Maybe even higher if you are having VACUUM problems
Abouteffective_cache_size,here are some guidelines.
- Set to the amount of file system cache available
- If you don’t know,set it to 50% of total system memory