pgRouting is an extension of PostgreSQL that allows for shortest path searches in real road networks. It includes algorithms like Dijkstra, A*, and Shooting* for finding shortest paths as well as functions for traveling salesperson problems and driving distance polygons. pgRouting integrates its C++ core for routing algorithms as a library with PostgreSQL using C wrappers and PL/PgSQL functions. It can model real-world road networks that have attributes like turn restrictions, traffic lights, and parallel edges.