timescaledb-docker
timescaledb-docker copied to clipboard
Missing `libssl.so.1.1` needed by `timescaledb-2.8.1.so` in `timescale/timescaledb:2.15.2-pg14` (trying to upgrade)
I think #200 has reoccurred...
I'm trying to upgrade from timescale/timescaledb:2.8.1-pg14 to timescale/timescaledb:2.15.2-pg14 (and thereafter to 2.15.2-pg16) but it's missing and old libssl.so.1.1 version needed by timescaledb-2.8.1.so:
postgres | 2024-06-18 18:46:18.647 UTC [27] LOG: TimescaleDB background worker launcher connected to shared catalogs
postgres | 2024-06-18 18:46:18.674 UTC [30] ERROR: could not load library "/usr/local/lib/postgresql/timescaledb-2.8.1.so": Error loading shared library libssl.so.1.1: No such file or directory (needed by /usr/local/lib/postgresql/timescaledb-2.8.1.so)
I assume since timescaledb-2.8.1.so is present in the image it's supposed to be possible to run it, so this must be a bug in the image.
libssl.so.1.1 is present in 2.15.0-pg14 and 2.15.1-pg14, but not 2.15.2-pg14.
Can confirm I'm also getting this, for latest-pg14 which should be 2.15.2-pg14, but not for 2.15.1-pg14 which runs fine.
I have the same issue with latest but not with 2.15.2-pg13.
This problem was introduced in commit 20e456c324d25fc64f7d6db99351ec011b652cef which casually removes Postgres 13 support - perhaps that's why libssl was removed in that commit. Perhaps Postgres 14 also requires libssl?
I pulled timescale/timescaledb:2.15.2-pg14 and used this sql to create a bash script to test all the versions of timescaledb in the image.
\x off
\t
\pset format unaligned
select format('psql -c "drop extension if exists timescaledb"; psql -X -c "create extension timescaledb version %L"; test $? -eq 0 || echo "%s failed" > fail.txt', x.version, x.version)
from
(
select
((string_to_array(version, '.'))[1])::int as maj
, ((string_to_array(version, '.'))[2])::int as min
, ((string_to_array(version, '.'))[3])::int as patch
, version
from pg_catalog.pg_available_extension_versions
where name = 'timescaledb'
order by 1,2,3
) x
;
These versions failed:
- 2.4.2 failed
- 2.5.0 failed
- 2.5.1 failed
- 2.5.2 failed
- 2.6.0 failed
- 2.6.1 failed
- 2.7.0 failed
- 2.7.1 failed
- 2.7.2 failed
- 2.8.0 failed
- 2.8.1 failed
@jedwards1211 while we are fixing this... timescale/timescaledb:2.15.1-pg14 still works with 2.8.1. So, you could upgrade from 2.8.1 to 2.15.1 in pg14 and then 2.15.1 to 2.15.2 in pg16.
@ToonSpinTUe I just confirmed that timescale/timescaledb:2.15.1-pg13 works. Hopefully that will suffice for you while we fix this.
@jgpruitt yes, I was able to follow that upgrade path. Thanks!
Thank you @jgpruitt I had already found that workaround. Thanks for picking this issue up! I have subscribed to the PR and will put our Docker setup back on latest-pg13 once it's merged.
On another note, it seems to have been your understanding that you were good to remove support from Postgres 13: are there plans to remove PG 13 support from Timescaledb in the (near) future? If so, is there a roadmap/EOL or some date we can mark on our calendars?
Seems like you solved this by yourself and this can be closed.
PG13 support has been removed, we try to limit the amount of supported major pg versions to the three most recent ones as the older the version the more effort it takes to keep it supported.
Hi @svenklemm, awesome that it's fixed! So just to confirm: if I upgrade my timescaledb image to latest-pg13 that won't break my application?
Also I would note that according to the Dockerhub page you do in fact still support Postgres 13.
Postgres 17 was released like a week ago or so, so I guess 14 isn't supposed to be supported anymore?