Usé ST_DUMP para convertir una tabla de geometrías de varios polígonos en PostgreSQL en una nueva tabla con geometrías de polígonos y otras columnas de datos.
CREATE TABLE poly AS --poly will be the new polygon table
WITH dump AS (
SELECT id, test, --columns from your multipolygon table
(ST_DUMP(geometry)).geom AS geometry
FROM multi --the name of your multipolygon table
)
SELECT id, test,
geometry::geometry(Polygon,4326) --type cast using SRID from multipolygon
FROM dump;
Actualización: Creo que esto podría lograrse mucho más fácilmente con esta consulta.
CREATE TABLE polygon_table AS
SELECT id, example_column, (ST_DUMP(geom)).geom::geometry(Polygon,4326) AS geom FROM multipolygon_table