I've had positive experience with Postgresql, but I haven't personnaly witnessed how it behaves in production. In my opinion there aren't good alternatives to a recursive query:
- Send one request for each level of hierarchy? Worst of all.
- Stored procedure? I don't think it would be optimised compared to a recursive query.
See also: http://stackoverflow.com/questions/5861272/postgresql-with-r...