From the docs on ST_SubDivide()
Turns a single geometry into a set in which each element has fewer than the maximum allowed number of vertices. Useful for converting excessively large polygons and other objects into small portions that fit within the database page size. Uses the same envelope clipping as ST_ClipByBox2D does, recursively subdividing the input geometry until all portions have less than the maximum vertex count. Minimum vertice count allowed is 8 and if you try to specify lower than 8, it will throw an error.
If one does this..
SELECT ST_Union(geom)
FROM (
SELECT ST_SubDivide(geom)
FROM tbl
WHERE id = 1
) AS t;
Should the resulting ST_Union( ST_SubDivide(geom) ) be the same? What exactly does envelope clipping mean? Are we losing area or detail?