Troubleshooting

This section contains some ideas for troubleshooting common problems experienced with hyperfunctions.

Queries using locf() don’t treat NULL values as missing

When you have a query that uses a last observation carried forward (locf) function, the query carries forward NULL values by default. If you want the function to ignore NULL values instead, you can set treat_null_as_missing=TRUE as the second parameter in the query. For example:

  1. dev=# select * FROM (select time_bucket_gapfill(4, time,-5,13), locf(avg(v)::int,treat_null_as_missing:=true) FROM (VALUES (0,0),(8,NULL)) v(time, v) WHERE time BETWEEN 0 AND 10 GROUP BY 1) i ORDER BY 1 DESC;
  2. time_bucket_gapfill | locf
  3. ---------------------+------
  4. 12 | 0
  5. 8 | 0
  6. 4 | 0
  7. 0 | 0
  8. -4 |
  9. -8 |
  10. (6 rows)

Install or upgrade of TimescaleDB Toolkit fails

`

  1. ERROR: extension "timescaledb_toolkit" has no update path from version "1.2" to version "1.3"

`

In some cases, when you create the TimescaleDB Toolkit extension, or upgrade it with the ALTER EXTENSION timescaledb_toolkit UPDATE command, it might fail with the above error.

This occurs if the list of available extensions does not include the version you are trying to upgrade to, and it can occur if the package was not installed correctly in the first place. To correct the problem, install the upgrade package, restart PostgreSQL, verify the version, and then attempt the update again.

Troubleshooting TimescaleDB Toolkit setup

  1. If you’re installing Toolkit from a package, check your package manager’s local repository list. Make sure the TimescaleDB repository is available and contains Toolkit. For instructions on adding the TimescaleDB repository, see the installation guides:

  2. Update your local repository list with apt update or yum update.

  3. Restart your PostgreSQL service.

  4. Check that the right version of Toolkit is among your available extensions:

    1. SELECT * FROM pg_available_extensions
    2. WHERE name = 'timescaledb_toolkit';

    The result should look like this:

    1. -[ RECORD 1 ]-----+--------------------------------------------------------------------------------------
    2. name | timescaledb_toolkit
    3. default_version | 1.6.0
    4. installed_version | 1.6.0
    5. comment | Library of analytical hyperfunctions, time-series pipelining, and other SQL utilities
  5. Retry CREATE EXTENSION or ALTER EXTENSION.