Olleg Samoylov <splarv@xxxxx> writes: > Looked like random() is "volatile", but in subselect it works like "stable". The point here is that that's an uncorrelated subselect --- ie, it contains no outer references --- so it need not be, and is not, re-evaluated at every outer row. regards, tom lane