postgresql: Default random_page_cost to 1.1.

The upstream PostgreSQL default is 4, which is more appropriate for
spinning disks.  In general, production deploys almost always use
SSDs; adjust the Zulip default value to a better value for those.
This commit is contained in:
Alex Vandiver
2025-09-25 14:31:11 -05:00
committed by Tim Abbott
parent cb36774b14
commit 85d50d09d4
2 changed files with 5 additions and 2 deletions

View File

@@ -236,7 +236,10 @@ setting](https://www.postgresql.org/docs/current/runtime-config-connection.html#
#### `random_page_cost`
Override PostgreSQL's [`random_page_cost`
setting](https://www.postgresql.org/docs/current/runtime-config-query.html#GUC-RANDOM-PAGE-COST)
setting](https://www.postgresql.org/docs/current/runtime-config-query.html#GUC-RANDOM-PAGE-COST).
Zulip defaults this value to 1.1, which is an appropriate value for
SSDs; if your server uses spinning disks, you should set this back to
the upstream default of 4.0.
#### `replication_primary`

View File

@@ -23,7 +23,7 @@ class zulip::profile::postgresql(Boolean $start = true) {
$wal_buffers = zulipconf('postgresql', 'wal_buffers', undef)
$min_wal_size = zulipconf('postgresql', 'min_wal_size', undef)
$max_wal_size = zulipconf('postgresql', 'max_wal_size', undef)
$random_page_cost = zulipconf('postgresql', 'random_page_cost', undef)
$random_page_cost = zulipconf('postgresql', 'random_page_cost', '1.1')
$effective_io_concurrency = zulipconf('postgresql', 'effective_io_concurrency', undef)
$listen_addresses = zulipconf('postgresql', 'listen_addresses', undef)