Utilice ST_SwapOrdinates
, que está hecho solo para eso:
SELECT ST_AsText(
ST_SwapOrdinates(
'POLYGON((1 2,5 2,1 3,1 2))'::geometry,
'xy'
)
);
st_astext
════════════════════════════
POLYGON((2 1,2 5,3 1,2 1))
(1 row)