O driver deve passar a consulta para o Postgresql nesta forma final:
update portfolios p
set votes = s.votes
from unnest(array[(5, 1), (15, 1), (25, 2)]) s (votes int, id int)
where p.id = s.id
Então passe esta consulta para o driver:
update portfolios p
set votes = s.votes
from unnest($1) s (votes int, id int)
where p.id = s.id
com um array apropriado como parâmetro.
Observe que, se você mesmo criar uma string em vez de deixar o driver fazer isso, ficará vulnerável à injeção de SQL.