SELECT ST_AsText(ST_LineToCurve(foo.the_geom)) As curvedastext,ST_AsText(foo.the_geom) As non_curvedastext
FROM (SELECT ST_Buffer('POINT(1 3)'::geometry, 3) As the_geom) As foo;
-curvedatext non_curvedastext
-------------------------------------------------------------------| -----------------------------------------------------------------
-CURVEPOLYGON(CIRCULARSTRING(4 3,3.12132034355964 0.878679656440359, | POLYGON((4 3,3.94235584120969 2.41472903395162,3.77163859753386 1.85194970290473
-1 0,-1.12132034355965 5.12132034355963,4 3)) | ,3.49440883690764 1.33328930094119,3.12132034355964 0.878679656440359,
- | 2.66671069905881 0.505591163092366,2.14805029709527 0.228361402466141,
- | 1.58527096604839 0.0576441587903094,1 0,
- | 0.414729033951621 0.0576441587903077,-0.148050297095264 0.228361402466137,
- | -0.666710699058802 0.505591163092361,-1.12132034355964 0.878679656440353,
- | -1.49440883690763 1.33328930094119,-1.77163859753386 1.85194970290472
- | --ETC-- ,3.94235584120969 3.58527096604839,4 3))
+curvedatext non_curvedastext
+--------------------------------------------------------------------|-----------------------------------------------------------------
+CURVEPOLYGON(CIRCULARSTRING(4 3,3.12132034355964 0.878679656440359, | POLYGON((4 3,3.94235584120969 2.41472903395162,3.77163859753386 1.85194970290473,
+1 0,-1.12132034355965 5.12132034355963,4 3)) | 3.49440883690764 1.33328930094119,3.12132034355964 0.878679656440359,
+ | 2.66671069905881 0.505591163092366,2.14805029709527 0.228361402466141,
+ | 1.58527096604839 0.0576441587903094,1 0,
+ | 0.414729033951621 0.0576441587903077,-0.148050297095264 0.228361402466137,
+ | -0.666710699058802 0.505591163092361,-1.12132034355964 0.878679656440353,
+ | -1.49440883690763 1.33328930094119,-1.77163859753386 1.85194970290472
+ | --ETC-- ,3.94235584120969 3.58527096604839,4 3))
--3D example
SELECT ST_AsEWKT(ST_LineToCurve(ST_GeomFromEWKT('LINESTRING(1 2 3, 3 4 8, 5 6 4, 7 8 4, 9 10 4)')));