MP111CRITICALFreeNeeds --database-url

warn-timescale-columnstore-ddl

What It Detects

TimescaleDB rejects this ALTER on a hypertable that has compression / columnstore enabled.

Why It's Dangerous

This is not a slow path — the statement fails. TimescaleDB answers "operation not supported on hypertables that have columnstore enabled", and the migration stops partway through with whatever ran before it already applied. Getting the change through is a procedure rather than a fix: stop the columnstore policy, convert the compressed chunks back to rowstore, disable the columnstore, apply the change, then re-enable and restore the policy. Two of those steps rewrite every chunk, so they belong in their own maintenance window.

Bad Example

-- metrics is a hypertable with the columnstore enabled
ALTER TABLE metrics ALTER COLUMN value TYPE numeric;
-- ERROR: operation not supported on hypertables that have columnstore enabled

Good Example

-- Confirm the columnstore state first — it decides whether this is a
-- one-line ALTER or a whole-hypertable maintenance window.
SELECT hypertable_name, compression_enabled, num_chunks
FROM timescaledb_information.hypertables
WHERE hypertable_name = 'metrics';

Configuration

Disable this rule:

# .migrationpilotrc.yml
rules:
  MP111: false

Or change its severity:

# .migrationpilotrc.yml
rules:
  MP111:
    severity: warning