# PRN in range(0,n) create or replace function prn(n) as trunc(random() * n)::BIGINT; create or replace function list_random(lst) as lst[ 1 + prn(length(lst)) ] ; ## Example: select histogram( r ) from (select list_random( [1,2,3] ) as r from range(0,1000) _(n));