Issue
When attempting to upgrade TimescaleDB from version 2.27.0 to 2.28.0 (or 2.28.1) on PostgreSQL 18.0, the upgrade process fails with the following error:ERROR: could not load link library "C:/Program Files/PostgreSQL/18/lib/timscaledb-2.28.0.dll".The specified procedure could not be found.
CONTEXT: SQL statement:"SET LOCAL search_path TO pg_catalog,pg_temp" link script file"timescaledb--2.27.0--2.28.0.sql",near line 6Product Line
EcoStruxure Building OperationEnvironment
External Log Storage using PostgreSQL v 18.0Cause
The failure occurs due to a binary incompatibility between PostgreSQL 18.0 and the TimescaleDB 2.28.x extension build.The extension was compiled against a newer PostgreSQL version, resulting in missing or incompatible library procedures when loaded on PostgreSQL 18.0. This leads to the “could not load link library” error during the upgrade.
Resolution
Upgrade PostgreSQL from version 18.0 to 18.4 to ensure compatibility with the TimescaleDB 2.28.x extension.
PostgreSQL 18.4 includes the required library compatibility for the extension, allowing the upgrade process to complete successfully.
Steps:
- Upgrade the PostgreSQL installation from version 18.0 to 18.4.
- Restart the PostgreSQL service after the upgrade.
- Re-run the TimescaleDB extension upgrade to version 2.28.x.
Validation:
- Confirm the extension upgrade completes without errors.
- Check that External Log Storage is functioning and logs are being written correctly.