Skip to content

Adopt zstd TOAST compression for the store when PostgreSQL ships it #2071

Description

@erikdarlingdata

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:

  1. Upgrade the bundled pg-runtime + the compose timescale/timescaledb image.
  2. Set default_toast_compression = zstd in the managed-PG config (or per-column on the dimension payload columns).
  3. 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions