Penso che tu debba convertire il array JSON in un normale array Postgres , quindi prendine una fetta:
select (array_agg(e))[2:3]
from (select json_array_elements('[{"id":1},{"id":2},{"id":3},{"id":4}]'::json)) x(e);
Se desideri che il risultato sia JSON, puoi utilizzare array_to_json
:
select array_to_json((array_agg(e))[2:3])
from (select json_array_elements('[{"id":1},{"id":2},{"id":3},{"id":4}]'::json)) x(e);