To help make configuring TimescaleDB a little easier, you can use the timescaledb-tune
tool. This tool handles setting the most common parameters to good values based
on your system. It accounts for memory, CPU, and PostgreSQL version.
timescaledb-tune
is packaged with the TimescaleDB binary releases as a
dependency, so if you installed Timescale from a binary release (including
Docker), you should already have access to the tool. Alternatively, you can use
the go install
command to install it:
go install github.com/timescale/timescaledb-tune/cmd/timescaledb-tune@latest
The timescaledb-tune
tool reads your system's postgresql.conf
file and
offers interactive suggestions for your settings. Here is an example of the tool
running:
Using postgresql.conf at this path:/usr/local/var/postgres/postgresql.confIs this correct? [(y)es/(n)o]: yWriting backup to:/var/folders/cr/example/T/timescaledb_tune.backup202101071520shared_preload_libraries needs to be updatedCurrent:#shared_preload_libraries = 'timescaledb'Recommended:shared_preload_libraries = 'timescaledb'Is this okay? [(y)es/(n)o]: ysuccess: shared_preload_libraries will be updatedTune memory/parallelism/WAL and other settings? [(y)es/(n)o]: yRecommendations based on 8.00 GB of available memory and 4 CPUs for PostgreSQL 12Memory settings recommendationsCurrent:shared_buffers = 128MB#effective_cache_size = 4GB#maintenance_work_mem = 64MB#work_mem = 4MBRecommended:shared_buffers = 2GBeffective_cache_size = 6GBmaintenance_work_mem = 1GBwork_mem = 26214kBIs this okay? [(y)es/(s)kip/(q)uit]:
When you have answered the questions, the changes are written to your
postgresql.conf
and take effect when you next restart.
If you are starting on a fresh instance and don't want to approve each group of
changes, you can automatically accept and append the suggestions to the end of
your postgresql.conf
by using some additional flags when you run the tool:
timescaledb-tune --quiet --yes --dry-run >> /path/to/postgresql.conf
Keywords
Found an issue on this page?Report an issue or Edit this page in GitHub.