From OpenStreetMap Wiki
Jump to: navigation, search
Available languages — Database
Deutsch English español
Railsport DB scheme

The main database is a key component of OpenStreetMap, because obviously it's where we keep all our data.

Please note that this is not the only database used to generate maps. Have a look at Component overview to see what other databases exist.

The main database is accessed for editing via the API. If you want to get data see APIs for multiple available options.

Data model

The database contains tables for each Element type (nodes, ways, relations). In fact for each of these there are several database tables: current, history, current_tags, history_tags. In addition there are database tables for storing changeset, gpx_files, users, diary entries, sessions, oauth etc.

You can get a detailed look at the SQL statements at Rails port/Database schema.

Databases elsewhere will be structured differently. For example most applications only need the current map data. Different OSM tools use different database setups (See Databases#Database_Schemas).

Postgres server instance

OpenStreetMap switched from MySQL to a PostgreSQL server for its main site on April 19 2009 [1] that is part of the rails port. This is running on a separate machine Servers/smaug. On April 1 2012 a process of moving to a new server commenced. For problems see Platform Status.

Database statistics

As with all Servers we have munin stats for (realtime graphs showing server resource usage). See also Statistics.