Como dijo que obtiene un grupo de polígonos que se cruzan para cada polígono en el que está interesado, es posible que desee crear lo que se conoce como "superposición de polígonos".
Esto no es exactamente lo que está haciendo la solución de Adam. Para ver la diferencia, eche un vistazo a esta imagen de una intersección ABC:

CreoquelasolucióndeAdamcrearáunpolígono"AB" que cubre tanto el área de "AB! C" y "ABC", como un polígono "AC" que cubre "AC! B" y "ABC", y un polígono "BC" que es "BC! A" y "ABC". Por lo tanto, los polígonos de salida "AB", "AC" y "BC" se superpondrían al área "ABC".
Una superposición de polígonos produce polígonos no superpuestos, de modo que AB! C sería un polígono y ABC sería un polígono.
Crear una superposición de polígonos en PostGIS es bastante sencillo.
Hay básicamente tres pasos.
El paso 1 es extraer la línea [Tenga en cuenta que estoy usando el anillo exterior del polígono, se vuelve un poco más complicado si quieres manejar correctamente los agujeros]:
SELECT ST_ExteriorRing(polygon_col) AS the_geom FROM my_table) AS lines
El paso 2 es "nudar" la línea (producir un nodo en cada intersección). Algunas bibliotecas como JTS tienen clases de "Noder" que puede usar para hacer esto, pero en PostGIS el ST_Union la función lo hace por usted:
SELECT ST_Union(the_geom) AS the_geom FROM (...your lines...) AS noded_lines
El paso 3 es crear todos los posibles polígonos no superpuestos que pueden provenir de todas esas líneas, realizado por ST_Polygonize función:
SELECT ST_Polygonize(the_geom) AS the_geom FROM (...your noded lines...)
Puede guardar la salida de cada uno de esos pasos en una tabla temporal, o puede combinarlos todos en una sola declaración:
CREATE TABLE my_poly_overlay AS
SELECT geom FROM ST_Dump((
SELECT ST_Polygonize(the_geom) AS the_geom FROM (
SELECT ST_Union(the_geom) AS the_geom FROM (
SELECT ST_ExteriorRing(polygon_col) AS the_geom FROM my_table) AS lines
) AS noded_lines
)
)
Estoy usando ST_Dump porque la salida de ST_Polygonize es una colección de geometría, y es (generalmente) es más conveniente tener una tabla donde cada fila sea uno de los polígonos que conforman la superposición de polígonos.