TOAST - why separate visibility map

Virender Singla <virender.cse@gmail.com>

From: Virender Singla <virender.cse@gmail.com>
To: PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2021-11-19T18:45:40Z
Lists: pgsql-hackers
Why do Toast tables have it's own visibility map and xmin, xmax columns etc?
Isn't it increasing row size in a toast table and adding more complexity?

Ideally all the vacuum cleanup on a TOAST can be done based on Primary
table xmin,xmax and VM info. Yes, that makes any cleanup on TOAST to be
glued up with the Primary table.