Tracking issue. zstd TOAST compression is not in PostgreSQL 18 (verified against the production 18.4 binary: default_toast_compression accepts pglz, lz4 only; the upstream patch is still in progress on -hackers). When a PG release ships it AND TimescaleDB supports that major:
- Upgrade the bundled pg-runtime + the compose
timescale/timescaledb image.
- Set
default_toast_compression = zstd in the managed-PG config (or per-column on the dimension payload columns).
- Nothing else: the change is transparent to every reader, applies to newly written values, and the plan dimension's ~9-day GC turnover converts the whole table without a rewrite.
Context: measured on live content 2026-08-05 — lz4 (current) 8.9× on plan XML, app-level gzip 14.0× (#2069 ships that interim), zstd expected ~16–20×. When zstd TOAST arrives it should replace #2069's app-level layer entirely (delete the gzip write path + reader decompression, let the engine do it), restoring raw-SQL access to plan XML as a bonus.
Tracking issue. zstd TOAST compression is not in PostgreSQL 18 (verified against the production 18.4 binary:
default_toast_compressionacceptspglz, lz4only; the upstream patch is still in progress on -hackers). When a PG release ships it AND TimescaleDB supports that major:timescale/timescaledbimage.default_toast_compression = zstdin the managed-PG config (or per-column on the dimension payload columns).Context: measured on live content 2026-08-05 — lz4 (current) 8.9× on plan XML, app-level gzip 14.0× (#2069 ships that interim), zstd expected ~16–20×. When zstd TOAST arrives it should replace #2069's app-level layer entirely (delete the gzip write path + reader decompression, let the engine do it), restoring raw-SQL access to plan XML as a bonus.