PostgreSQL version

It's psuedorandom because it uses the row ID as a seed rather than random value.

UPDATE tbl
SET value = values.valuearray[tbl.id % ARRAY_LENGTH(values.valuearray,1) + 1]
FROM (
SELECT ARRAY['1','2','3'] AS valuearray
) values