Не надо выдумывать никаких функций, она уже сущесвует. Это array_position.
select
...
from
planet_osm_ways AS pow
left join planet_osm_nodes AS pon on pon.id = any (pow.nodes)
where
pow.id = 128676234
order by array_position(pow.nodes, pon.id);
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.