How to shuffle array in PostgreSQL 9.6 and also lower versions?
问题 The following custom stored function - CREATE OR REPLACE FUNCTION words_shuffle(in_array varchar[]) RETURNS varchar[] AS $func$ SELECT array_agg(letters.x) FROM (SELECT UNNEST(in_array) x ORDER BY RANDOM()) letters; $func$ LANGUAGE sql STABLE; was shuffling character array in PostgreSQL 9.5.3: words=> select words_shuffle(ARRAY['a','b','c','d','e','f']); words_shuffle --------------- {c,d,b,a,e,f} (1 row) But now after I have switched to PostgreSQL 9.6.2 the function stopped working: words=>