Telemetry and version checking
Learn what telemetry TimescaleDB collects and how to disable it
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:
Example JSON telemetry data file
{ "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 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 in the telemetry report
Section titled “Change what is included in 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
Section titled “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
Section titled “Disable telemetry”It is highly recommended 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
Section titled “Disabling telemetry”- Open your PostgreSQL configuration file
Locate the
timescaledb.telemetry_levelparameter. See the PostgreSQL configuration file instructions for locating and opening the file. - Change the parameter setting to offtimescaledb.telemetry_level=off
- Reload the configuration file
Terminal window pg_ctlAlternatively, you can use this command at the
psqlprompt, as the root user:ALTER [SYSTEM | DATABASE | USER] { *db_name* | *role_specification* } SET timescaledb.telemetry_level=offThis command disables telemetry for the specified system, database, or user.
Enabling telemetry
Section titled “Enabling telemetry”- Open your PostgreSQL configuration file
Locate the
timescaledb.telemetry_levelparameter. See the PostgreSQL configuration file instructions for locating and opening the file. - Change the parameter setting to basictimescaledb.telemetry_level=basic
- Reload the configuration file
Terminal window pg_ctlAlternatively, you can use this command at the
psqlprompt, as the root user:ALTER [SYSTEM | DATABASE | USER] { *db_name* | *role_specification* } SET timescaledb.telemetry_level=basicThis command enables telemetry for the specified system, database, or user.