Use
ST_SwapOrdinates
, que é feito apenas para isso: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)