Мисля, че трябва да конвертирате JSON масив към обикновен Postgres масив , след което вземете парче от него:
select (array_agg(e))[2:3]
from (select json_array_elements('[{"id":1},{"id":2},{"id":3},{"id":4}]'::json)) x(e);
Ако искате резултатът да бъде JSON, можете да използвате 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);