pgRouting extends the PostGIS / PostgreSQL geospatial database to provide geospatial routing functionality.
Advantages of the database routing approach are:
- Data and attributes can be modified by many clients, like QGIS and uDig through JDBC, ODBC, or directly using Pl/pgSQL. The clients can either be PCs or mobile devices.
- Data changes can be reflected instantaneously through the routing engine. There is no need for precalculation.
- The “cost” parameter can be dynamically calculated through SQL and its value can come from multiple fields or tables.
pgRouting provides functions for:
- All Pairs Shortest Path, Johnson’s Algorithm 
- All Pairs Shortest Path, Floyd-Warshall Algorithm 
- Shortest Path A*
- Bi-directional Dijkstra Shortest Path 
- Bi-directional A* Shortest Path 
- Shortest Path Dijkstra
- Driving Distance
- K-Shortest Path, Multiple Alternative Paths 
- K-Dijkstra, One to Many Shortest Path 
- Traveling Sales Person
- Turn Restriction Shortest Path (TRSP) 
- Shortest Path Shooting Star 
Learn more about using pgRouting in your application by reading the documentation.
 New in pgRouting 2.0.0
 Discontinued in pgRouting 2.0.0
pgRouting is Open Source
pgRouting is available under the GPLv2 license and is supported by a growing community of individuals, businesses and organizations.