Can't speak to guarantees but arrays, unlike tuples / rows, are inherently ordered and so any operation that decomposes/iterates them will do so in the internal order.
So, yes. (without looking at code) But, since you do not have an "ORDER BY on table_with_array_col" so the order in which rows are returned from table_with_array_col is undefined. Better to write: SELECT unnest(array_col), generate_subscripts(array_col) FROM ( SELECT array_col FROM table_with_array_col ORDER BY somefield ) sub David J. From: pgsql-general-ow...@postgresql.org [mailto:pgsql-general-ow...@postgresql.org] On Behalf Of Carlos Fuentes Sent: Thursday, May 26, 2011 8:17 PM To: pgsql-general@postgresql.org Subject: [GENERAL] unnest with generate_subscripts and same array Hello, Given that these are the only one array_col in play, is select unnest(array_col), generate_subscripts(array_col) from table_with_array_col ; guaranteed to gave the subscripts match the array element? In all the testing I've done it's worked, but I don't know if I was just lucky :) Thanks, -Carlos Fuentes