Classifique as linhas no Postgresql por uma lista de valores

Use a função POSITION para strings:

SELECT *
FROM table

WHERE ID IN
(1, 2, 3, 4, 5)
ORDER BY POSITION
(id::text IN '2, 1, 5, 3, 4')

Felicidades.