This is an old revision of the document!
PostgreSQL 9.1.x documentation (English): http://www.postgresql.org/docs/9.1/interactive/runtime-config-resource.html#RUNTIME-CONFIG-RESOURCE-MEMORY
Main configuration file is postgresql.conf
located in PostgreSQL instance data directory.
Following recommended memory sizes are given for a server with 16 GiB of physical memory and about 8 GiB dedicated for the PostgreSQL instance.
max_connections
: Number of concurrent SQL sessions (each Proline Server task can use 1 to 5 SQL sessions, each Proline-Studio instance can use some SQL sessions).Default value 100
tcp_keepalives_idle
: Number of seconds before sending a keepalive packet on an otherwise idle TCP connection. Help with broken router / firewall and checking for dead peers.Default value 0 (2 hours) → 300 (5 minutes)
shared_buffers
Use about 1/4 of physical memory dedicated to the PostgreSQL instance.Default value 32MB → 2048MB
checkpoint_segments
= Use (shared_buffers
/ 16) ; max. 64 or 256 for write-heavy bulk loading.Default value 3 → 128
checkpoint_completion_target
= 0.9 for high value of checkpoint_segments
.Default value 0.5 → 0.9
temp_buffers
Per session Used for temporary tables creation.Default value 8MB → 512MB
work_mem
= Several per session Used for hashing, sorting and IN
operator when processing queries.Default value 1MB → 4MB to 64MB
maintenance_work_mem
Used for intial index creation and VACUUM
operations.Default value 16MB → 1024MB
effective_cache_size
Assumption about the effective size of the disk cache to optimize index use (Monitor physical memory allocated by system to disk cache operations).Default value 128MB → 4096MB