-- The x_test table is created with two columns: the gid column,
-- which uniquely identifies the row, and the pt1 point column.

CREATE TABLE x_test (gid integer,
                     pt1 ST_Point);

-- The INSERT statements insert two rows.
-- One is a point without a Z coordinate or a measure.
-- The other row has both a Z coordinate and a measure.

INSERT INTO x_test VALUES( 
   1, 
   ST_PointFromText('point (10.02 20.01)', 1000) 
);

INSERT INTO x_test VALUES( 
   2, 
   ST_PointFromText('point zm (10.02 20.01 5.0 7.0)', 1000) 
);

-- The query lists the gid column and the double-precision X coordinate of the points.

SELECT gid, ST_X(pt1) x_coord 
   FROM x_test;