Existuje jednodušší metoda, která je ošklivá, ale věřím, že je technicky správná:extrahujte z pole největší možný výsek, na rozdíl od přesného výseku s vypočítanými hranicemi. Vyhýbá se dvěma voláním funkcí.
Příklad:
select ('[5:7]={1,2,3}'::int[])[-2147483648:2147483647];
výsledkem je:
int4 --------- {1,2,3}