Telemetry and version checking
TimescaleDB collects anonymous usage data to help us better understand and assist our users. It also helps us provide some services, such as automated version checking. Your privacy is the most important thing to us, so we do not collect any personally identifying information. In particular, the UUID (user ID) fields contain no identifying information, but are randomly generated by appropriately seeded random number generators.
This is an example of the JSON data file that is sent for a specific deployment:
{
"db_uuid": "860c2be4-59a3-43b5-b895-5d9e0dd44551",
"license": {
"edition": "community"
},
"os_name": "Linux",
"relations": {
"views": {
"num_relations": 0
},
"tables": {
"heap_size": 32768,
"toast_size": 16384,
"indexes_size": 98304,
"num_relations": 4,
"num_reltuples": 12
},
"hypertables": {
"heap_size": 3522560,
"toast_size": 23379968,
"compression": {
"compressed_heap_size": 3522560,
"compressed_row_count": 4392,
"compressed_toast_size": 20365312,
"num_compressed_chunks": 366,
"uncompressed_heap_size": 41951232,
"uncompressed_row_count": 421368,
"compressed_indexes_size": 11993088,
"uncompressed_toast_size": 2998272,
"uncompressed_indexes_size": 42696704,
"num_compressed_hypertables": 1
},
"indexes_size": 18022400,
"num_children": 366,
"num_relations": 2,
"num_reltuples": 421368
},
"materialized_views": {
"heap_size": 0,
"toast_size": 0,
"indexes_size": 0,
"num_relations": 0,
"num_reltuples": 0
},
"partitioned_tables": {
"heap_size": 0,
"toast_size": 0,
"indexes_size": 0,
"num_children": 0,
"num_relations": 0,
"num_reltuples": 0
},
"continuous_aggregates": {
"heap_size": 122404864,
"toast_size": 6225920,
"compression": {
"compressed_heap_size": 0,
"compressed_row_count": 0,
"num_compressed_caggs": 0,
"compressed_toast_size": 0,
"num_compressed_chunks": 0,
"uncompressed_heap_size": 0,
"uncompressed_row_count": 0,
"compressed_indexes_size": 0,
"uncompressed_toast_size": 0,
"uncompressed_indexes_size": 0
},
"indexes_size": 165044224,
"num_children": 760,
"num_relations": 24,
"num_reltuples": 914704,
"num_caggs_on_distributed_hypertables": 0,
"num_caggs_using_real_time_aggregation": 24
},
"distributed_hypertables_data_node": {
"heap_size": 0,
"toast_size": 0,
"compression": {
"compressed_heap_size": 0,
"compressed_row_count": 0,
"compressed_toast_size": 0,
"num_compressed_chunks": 0,
"uncompressed_heap_size": 0,
"uncompressed_row_count": 0,
"compressed_indexes_size": 0,
"uncompressed_toast_size": 0,
"uncompressed_indexes_size": 0,
"num_compressed_hypertables": 0
},
"indexes_size": 0,
"num_children": 0,
"num_relations": 0,
"num_reltuples": 0
},
"distributed_hypertables_access_node": {
"heap_size": 0,
"toast_size": 0,
"compression": {
"compressed_heap_size": 0,
"compressed_row_count": 0,
"compressed_toast_size": 0,
"num_compressed_chunks": 0,
"uncompressed_heap_size": 0,
"uncompressed_row_count": 0,
"compressed_indexes_size": 0,
"uncompressed_toast_size": 0,
"uncompressed_indexes_size": 0,
"num_compressed_hypertables": 0
},
"indexes_size": 0,
"num_children": 0,
"num_relations": 0,
"num_reltuples": 0,
"num_replica_chunks": 0,
"num_replicated_distributed_hypertables": 0
}
},
"os_release": "5.10.47-linuxkit",
"os_version": "#1 SMP Sat Jul 3 21:51:47 UTC 2021",
"data_volume": 381903727,
"db_metadata": {},
"build_os_name": "Linux",
"functions_used": {
"pg_catalog.int8(integer)": 8,
"pg_catalog.count(pg_catalog.\"any\")": 20,
"pg_catalog.int4eq(integer,integer)": 7,
"pg_catalog.textcat(pg_catalog.text,pg_catalog.text)": 10,
"pg_catalog.chareq(pg_catalog.\"char\",pg_catalog.\"char\")": 6,
},
"install_method": "docker",
"installed_time": "2022-02-17T19:55:14+00",
"os_name_pretty": "Alpine Linux v3.15",
"last_tuned_time": "2022-02-17T19:55:14Z",
"build_os_version": "5.11.0-1028-azure",
"exported_db_uuid": "5730161f-0d18-42fb-a800-45df33494c21",
"telemetry_version": 2,
"build_architecture": "x86_64",
"distributed_member": "none",
"last_tuned_version": "0.12.0",
"postgresql_version": "12.10",
"related_extensions": {
"postgis": false,
"pg_prometheus": false,
"timescale_analytics": false,
"timescaledb_toolkit": false
},
"timescaledb_version": "2.6.0",
"num_reorder_policies": 0,
"num_retention_policies": 0,
"num_compression_policies": 1,
"num_user_defined_actions": 1,
"build_architecture_bit_size": 64,
"num_continuous_aggs_policies": 24
}If you want to see the exact JSON data file that is sent, use the [get_telemetry_report][get_telemetry_report] API call.
Telemetry reports are different if you are using an open source or community version of TimescaleDB. For these versions, the report includes an edition field, with a value of either apache_only or community.
Change what is included the telemetry report
If you want to adjust which metadata is included or excluded from the telemetry report, you can do so in the _timescaledb_catalog.metadata table. Metadata which has include_in_telemetry set to true, and a value of timescaledb_telemetry.cloud, is included in the telemetry report.
Version checking
Telemetry reports are sent periodically in the background. In response to the telemetry report, the database receives the most recent version of TimescaleDB available for installation. This version is recorded in your server logs, along with any applicable out-of-date version warnings. You do not have to update immediately to the newest release, but we highly recommend that you do so, to take advantage of performance improvements and bug fixes.
Disable telemetry
It is highly recommend that you leave telemetry enabled, as it provides useful features for you, and helps to keep improving Timescale. However, you can turn off telemetry if you need to for a specific database, or for an entire instance.
If you turn off telemetry, the version checking feature is also turned off.
Disabling telemetry
Open your Postgres configuration file, and locate the
timescaledb.telemetry_levelparameter. See the [Postgres configuration file][postgres-config] instructions for locating and opening the file.Change the parameter setting to
off:yamltimescaledb.telemetry_level=offReload the configuration file:
bashpg_ctlAlternatively, you can use this command at the
psqlprompt, as the root user:sqlALTER [SYSTEM | DATABASE | USER] \{ *db_name* | *role_specification* \} SET timescaledb.telemetry_level=offThis command disables telemetry for the specified system, database, or user.
Enabling telemetry
Open your Postgres configuration file, and locate the 'timescaledb.telemetry_level' parameter. See the [Postgres configuration file][postgres-config] instructions for locating and opening the file.
Change the parameter setting to 'off':
yamltimescaledb.telemetry_level=basicReload the configuration file:
bashpg_ctlAlternatively, you can use this command at the
psqlprompt, as the root user:sqlALTER [SYSTEM | DATABASE | USER] \{ *db_name* | *role_specification* \} SET timescaledb.telemetry_level=basicThis command enables telemetry for the specified system, database, or user.
===== PAGE: https://docs.tigerdata.com/self-hosted/configuration/timescaledb-tune/ =====
TimescaleDB tuning tool
To help make configuring TimescaleDB a little easier, you can use the [timescaledb-tune][tstune] tool. This tool handles setting the most common parameters to good values based on your system. It accounts for memory, CPU, and Postgres version. timescaledb-tune is packaged with the TimescaleDB binary releases as a dependency, so if you installed TimescaleDB 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@latestThe 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.conf
Is this correct? [(y)es/(n)o]: y
Writing backup to:
/var/folders/cr/example/T/timescaledb_tune.backup202101071520
shared_preload_libraries needs to be updated
Current:
#shared_preload_libraries = 'timescaledb'
Recommended:
shared_preload_libraries = 'timescaledb'
Is this okay? [(y)es/(n)o]: y
success: shared_preload_libraries will be updated
Tune memory/parallelism/WAL and other settings? [(y)es/(n)o]: y
Recommendations based on 8.00 GB of available memory and 4 CPUs for PostgreSQL 12
Memory settings recommendations
Current:
shared_buffers = 128MB
#effective_cache_size = 4GB
#maintenance_work_mem = 64MB
#work_mem = 4MB
Recommended:
shared_buffers = 2GB
effective_cache_size = 6GB
maintenance_work_mem = 1GB
work_mem = 26214kB
Is 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===== PAGE: https://docs.tigerdata.com/self-hosted/configuration/postgres-config/ =====
Manual Postgres configuration and tuning
If you prefer to tune settings yourself, or for settings not covered by timescaledb-tune, you can manually configure your installation using the Postgres configuration file.
For some common configuration settings you might want to adjust, see the [about-configuration][about-configuration] page.
For more information about the Postgres configuration page, see the [Postgres documentation][pg-config].
Edit the Postgres configuration file
The location of the Postgres configuration file depends on your operating system and installation.
- Find the location of the config file for your Postgres instance
- Connect to your database:shell
- Connect to your database: