Ho usato ST_DUMP per convertire una tabella di geometrie multipoligonali in PostgreSQL in una nuova tabella con geometrie poligonali e altre colonne di dati.
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;
Aggiornamento: Penso che questo potrebbe essere ottenuto molto più facilmente con questa query.
CREATE TABLE polygon_table AS
SELECT id, example_column, (ST_DUMP(geom)).geom::geometry(Polygon,4326) AS geom FROM multipolygon_table