I have used this great tutorial, and shortest part between two points works fine. My question is: How to calculate shortest path between multiple points?
there is a modified shortest_path which enables multiple destinations;
Take a look at https://github.com/pgRouting/pgrouting/wiki/One_to_many-Dijkstra---To-review or the forked pgrouting https://github.com/HSylvio/pgrouting
Hope it works as well for you as it does for me!
Assuming you have multiple start points and a single finish point, another approach may be using Cost Path command in Raster Calculator as follows:
Comparing paths with rivers, we can use "Inicial_points" = Headwaters, "Costs" = Digital Elevation Model and "Direction" = Flow Direction.