In this short recipe, we will be using a common coding pattern in use when geometries are being constructed with ST_Polygonize and formalizing it into a function for reuse.
ST_Polygonize is a very useful function. You can pass a set of unioned lines or an array of lines to ST_Polygonize, and the function will construct polygons from the input. ST_Polygonize does so aggressively insofar as it will construct all possible polygons from the inputs. One frustrating aspect of the function is that it does not return a multi-polygon, but instead returns a geometry collection. Geometry collections can be problematic in third-party tools for interacting with PostGIS as so many third party tools don't have mechanisms in place ...