Description
What type of bug is this?
Unexpected error
What subsystems and features are affected?
Query executor
What happened?
Issue:
The last() function from TimescaleDB Toolkit randomly fails, returning error 42883: function last(character varying, timestamp with time zone does not exist. The only way to restore its functionality is by restarting PostgreSQL, which is not viable for production environments.
Expected Behavior:
The last() function should consistently execute without requiring a database restart.
Actual Behavior:
The function works as expected initially.
Over time, queries using last() start failing with error 42883.
Running pg_reload_conf();, DISCARD ALL;, or ALTER EXTENSION timescaledb_toolkit UPDATE; does not fix the issue.
The function is still listed in pg_proc, but PostgreSQL treats it as missing.
Restarting the database restores the function, but the issue eventually recurs.
TimescaleDB version affected
2.19.3
PostgreSQL version used
17.4
What operating system did you use?
ubuntu24.04
What installation method did you use?
Deb/Apt
What platform did you run on?
On prem/Self-hosted
Relevant log output and stack trace
How can we reproduce the bug?
Steps to Reproduce:
Run a query using the last() function:
sql
SELECT last("ColumnName", "TimestampColumn") FROM my_table;
Observe normal execution.
After continued use, the function starts failing with:
text
ERROR: function last(character varying, timestamp with time zone) does not exist
SQL state: 42883
Restarting PostgreSQL temporarily resolves the issue, but it repeats over time.