ST_DumpPoints — ジオメトリを作る全ての点のgometry_dump(geom,path)行の集合を返します.
geometry_dump[]ST_DumpPoints(geometry geom);
この,集合を返す関数(SRF)は,ジオメトリ(geom)と整数配列(path)で作られるgeometry_dump行を返します.
geometry_dumpのgeom要素は全て,与えられたジオメトリを作るPOINTです.
geometry_dumpのpath要素(an integer[])は,与えられたジオメトリのPOINTを列挙するインデクス参照です.
たとえば,LINESTRINGが与えられた場合に,{i}のpathが返ります.
ここで,iはLINESTRINGのn番目の座標です.
POLYGONが与えられた場合には,{i,j}のpathが返ります.
ここで,iは外環から内環に続くリングで,jはPOINTの列挙です.
初出バージョン: 1.5.0
この関数は三次元をサポートします.Zインデクスを削除しません.
このメソッドは曲線ストリングと曲線をサポートします.

SELECT path, ST_AsText(geom)
FROM (
SELECT (ST_DumpPoints(g.geom)).*
FROM
(SELECT
'GEOMETRYCOLLECTION(
POINT ( 0 1 ),
LINESTRING ( 0 3, 3 4 ),
POLYGON (( 2 0, 2 3, 0 2, 2 0 )),
POLYGON (( 3 0, 3 3, 6 3, 6 0, 3 0 ),
( 5 1, 4 2, 5 2, 5 1 )),
MULTIPOLYGON (
(( 0 5, 0 8, 4 8, 4 5, 0 5 ),
( 1 6, 3 6, 2 7, 1 6 )),
(( 5 4, 5 8, 6 7, 5 4 ))
)
)'::geometry AS geom
) AS g
) j;
path | st_astext
-----------+------------
{1,1} | POINT(0 1)
{2,1} | POINT(0 3)
{2,2} | POINT(3 4)
{3,1,1} | POINT(2 0)
{3,1,2} | POINT(2 3)
{3,1,3} | POINT(0 2)
{3,1,4} | POINT(2 0)
{4,1,1} | POINT(3 0)
{4,1,2} | POINT(3 3)
{4,1,3} | POINT(6 3)
{4,1,4} | POINT(6 0)
{4,1,5} | POINT(3 0)
{4,2,1} | POINT(5 1)
{4,2,2} | POINT(4 2)
{4,2,3} | POINT(5 2)
{4,2,4} | POINT(5 1)
{5,1,1,1} | POINT(0 5)
{5,1,1,2} | POINT(0 8)
{5,1,1,3} | POINT(4 8)
{5,1,1,4} | POINT(4 5)
{5,1,1,5} | POINT(0 5)
{5,1,2,1} | POINT(1 6)
{5,1,2,2} | POINT(3 6)
{5,1,2,3} | POINT(2 7)
{5,1,2,4} | POINT(1 6)
{5,2,1,1} | POINT(5 4)
{5,2,1,2} | POINT(5 8)
{5,2,1,3} | POINT(6 7)
{5,2,1,4} | POINT(5 4)
(29 rows)