tl;dr:(1) Create the new empty table. (2) Write to both old and new table. (3) Copy data (in chunks) from old to new. (4) Validate consistency. (5) Switch reads to new table. (6) Stop writes to the old table. (7) Cleanup old table. This guide will go through the step-by-step process of migrating tables in PostgreSQL.