Използвах ST_DUMP за преобразуване на таблица с многополигонални геометрии в PostgreSQL в нова таблица с многоъгълни геометрии и други колони с данни.
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;
Актуализация: Мисля, че това може да се постигне много по-лесно с тази заявка.
CREATE TABLE polygon_table AS
SELECT id, example_column, (ST_DUMP(geom)).geom::geometry(Polygon,4326) AS geom FROM multipolygon_table