I alluded to this in [0], but it's better discussed in its own thread.
I think the check that makes pgstattuple_approx reject TOAST tables is a
mistake. They have visibility and free space map, and it works just
fine if the check is removed.
Attached is a patch to fix this and add some tests related to how
pgstattuple and pg_visibility accept TOAST tables for inspection.
[0]:
https://www.postgresql.org/message-id/dc35a398-37d0-75ce-07ea-1dd71d98f8ec@2ndquadrant.com
--
Peter Eisentraut http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services