# If the instance is lower capacity than r5.xlarge, then set it to a lower number. # Also tune the "MaxOpenConns" setting under the "SqlSettings" of the Mattermost app accordingly. # Note that "MaxOpenConns" on Mattermost is per data source name. max_connections = 1024 # Set it to 1.1, unless the DB is using spinning disks. random_page_cost = 1.1 # This should be 32MB if using read replicas, or 16MB if using a single PostgreSQL instance. # If the instance is of a lower capacity than r5.xlarge, then set it to a lower number. work_mem = 16MB # Set both of the below settings to 65% of total memory. For a 32 GB instance, it should be 21 GB. # If on a smaller server, set this to 20% or less total RAM. # ex: 512MB would work for a 4GB RAM server shared_buffers = 512MB effective_cache_size = 512MB # If you are using pgbouncer, or any similar connection pooling proxy, # in front of your DB, then apply the keepalive settings to the proxy instead, # and revert the keepalive settings for the DB back to defaults. tcp_keepalives_idle = 5 tcp_keepalives_interval = 1 tcp_keepalives_count = 5 # 1GB (reduce this to 512MB if your server has less than 32GB of RAM) maintenance_work_mem = 512MB autovacuum_max_workers = 4 autovacuum_vacuum_cost_limit = 500 ## Intentionally disabled here because running in docker this may cause performance problems. # If you have more than 32 CPUs on your database server, please set the following options to utilize more CPU for your server: # max_worker_processes = 12 # max_parallel_workers_per_gather = 4 # max_parallel_workers = 12 # max_parallel_maintenance_workers = 4 log_connections = on log_disconnections = on log_replication_commands = on