I found solution do $$ declare v_array integer[] := array[1,2,3,4,5]; v_array2 integer[]; v_delete_elements integer :=2; v_new_index integer; begin v_new_index := array_lower(v_array, 1) + v_delete_elements; v_array2 := array_fill(v_array[v_new_index], ARRAY[1], ARRAY[v_new_index]) || v_array[v_new_index+1:array_upper(v_array, 1)]; raise notice '%', v_array2; end; $$ NOTICE: [3:5]={3,4,5} -- View this message in context: http://postgresql.1045698.n5.nabble.com/How-to-remove-n-first-elements-from-array-tp5736765p5736866.html Sent from the PostgreSQL - general mailing list archive at Nabble.com. -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general