Columns
ALTER COLUMN ... TYPE
ALTER TABLE orders ALTER COLUMN notes TYPE text; What this does
Changing a column's type usually rewrites the table and its indexes under ACCESS EXCLUSIVE. With schema context from a snapshot, pgfence can prove some changes are metadata-only (LOW risk: e.g. widening a text-family column, such as varchar(N), to text or to varchar with no length limit). Widening varchar(N) to a larger varchar(M), or any numeric(P,S) change on an already-numeric column, is reported as MEDIUM instead: likely safe if it is really a widening, but pgfence does not treat it as proven the way it does the text case. Without a snapshot, pgfence reports the conservative HIGH-risk default, since a rewrite cannot be ruled out.
Safe rewrite
Use the expand/contract pattern: add a new column, backfill, swap, drop the old column
-- 1. Add a new column with the target type.
-- 2. Backfill it out-of-band in batches until no rows remain.
-- 3. Switch application reads and writes to the new column.
-- 4. Drop the old column after verification.