Setting | New value (Default) | Description |
max_connections | 100 (100) | Do not change this without consulting the manual! This works in conjunction with work_mem and some other stuff and can lead to excessive memory usage if not changed appropriately. If you increase this to say 200, make sure to lower work_mem. |
shared_buffers | 256MB (128MB) | Keep this low. Recommendation is to use 25% of available memory but some say this value doesn't provide much benefit. effective_cache_size seems to give more value. |
effective_cache_size | 8GB (4GB) | See memory values in performance tab in Task Manager (Windows) for the system's "Cache" value and compare that to available free RAM and use a value that is somewhere in that vicinity. This seems to have most potential for improving performance. High values favor use of indexes in the DB. Some just set this value to the amount of available free RAM. |
work_mem | 16MB (4MB) | This can be tricky to set as it can cause excessive memory use for complex queries if many clients run the same queries at the same time. So the worst case scenario can be high (luckily Orchestra doesn't have many overly complex queries). |
autovacuum_work_mem | 512MB (-1 i.e. uses maintenance_work_mem value) | The amount of memory that the auto vacuum process is allowed to consume the most. Setting this high can speed up vacuum work. |
checkpoint_segments | 32 (3) | |
checkpoint_completion_target | 0.7 (0.5) | |
wal_buffers | 16MB (4MB) | |
random_page_cost | 3 (4) | If there is lots of memory for the database i.e. lots of it is cached (Available memory higher than size of DB), and/or the DB machine uses SSD disks for the DB, then lowering this value can provide some performance gains. |