This topic describes the ST_Dump function. This function returns a set of geometry_dump rows of the input geometry object.


geometry_dump[]  ST_Dump(geometry  g1);


Parameter Description
g1 The geometry object that you want to specify.


  • This function extracts the components of the input geometry object and returns a set of geometry_dump rows of the input geometry object. Each value of a row contains a geometry object and an array of integers. The geometry object is represented as geom and the array of integers is represented as path.
    • If you specify a point object, LineString object, or polygon object, this function returns a single record that consists of an empty path array and the input geometry as geom.
    • If you specify a collection object or MULTI object, this function returns the components of the collection and an array of integers that represents the position of each component.
  • This function is useful for expanding geometry objects. The ST_Dump function is the reverse of a GROUP BY clause. For example, you can use this function to expand a MultiPolygon object to a polygon object.
  • This function supports circular strings, curves, polyhedral surfaces, triangles, triangulated irregular network (TIN) surfaces, and 3D objects.


Results returned by using the default parameter settings:
SELECT (t.dump).path,ST_AsText((t.dump).geom) from (select ST_Dump('MULTILINESTRING((0 0,0 2),(0 1,0 3))'::geometry) as dump) as t;
 path |      st_astext
 {1}  | LINESTRING(0 0,0 2)
 {2}  | LINESTRING(0 1,0 3)
(2 rows)