Martin Kalcher <martin.kalc...@aboutsource.net> writes: > If we go with (1) array_shuffle() and array_sample() should shuffle each > element individually and always return a one-dimensional array.
> select array_shuffle('{{1,2},{3,4},{5,6}}'); > ----------- > {1,4,3,5,6,2} > select array_sample('{{1,2},{3,4},{5,6}}', 3); > ---------- > {1,4,3} Independently of the dimensionality question --- I'd imagined that array_sample would select a random subset of the array elements but keep their order intact. If you want the behavior shown above, you can do array_shuffle(array_sample(...)). But if we randomize it, and that's not what the user wanted, she has no recourse. Now, if you're convinced that the set of people wanting sampling-without-shuffling is the empty set, then making everybody else call two functions is a loser. But I'm not convinced. At the least, I'd like to see the argument made why nobody would want that. regards, tom lane