[GIS] Open Street Map and PostgreSQL what do I exactly need

databaseopenstreetmappostgresql

I make my first steps in the GIS world and everything is very new for me even if I work on a "huge" project (ie: for a single programmer) very related to maps.

My project needs to know informations below for any location of the world:

  • Road type
  • Road name
  • Road coordinates
  • City boundaries
  • Water way name
  • Water way coordinates

I found that I could have all this informations thanks to Open Street Map and my project begins to work thanks to this. But now I need to work on bigger maps (ie: bigger than the 50.000 XML nodes limit OSM export provides). I know I need to put the whole planet in a database.

There is a lot of documentation about PostgreSQL and Open Street Map on the Internet but I don't know where to begin.
In fact I found documentation about Osmosis in order to put a planet dump in a database, but I also found about osm2pgsql. The point is I don't know what is the best for me.

It seems (but I can be wrong) osm2pgsql has been made in order to render mapnik maps, thing I don't need at all because I have to know roads/cities/water ways informations… But I am not sure to have correctly understood what mapnik can do.

My question is: What can I use to insert OSM datas in a database in order to reuse it later as easily as an OSM exported file?

Thank you.

EDIT: The computer I use is a dedicated server (Intel(R) Pentium(R) E2180 2.00GHz and 2GB of RAM) running a GNU/Linux Debian.

PS: I know my question seems dumb, because osmosis can insert but also extract a xml file from a database. Anyway, I need to know how you would do it.

PS: If someone knows where to find nice OSM+database tutorials for beginner I would appreciate!