The pgsql backend is designed for rendering OpenStreetMap data, principally with Mapnik, but is also useful for analysis and exporting to other formats.
It connects to a PostgreSQL database and stores the data in four tables
planet_osm_point
planet_osm_line
planet_osm_roads
planet_osm_polygon
planet_osm_roads contains the data from other tables, but has tags selected for low-zoom rendering. It does not only contain roads.
The default prefix planet_osm
can be changed with the --prefix
option.
If you are using --slim
mode, it will create the following additional 3
tables which are used by the pgsql middle layer, not the backend:
planet_osm_nodes
planet_osm_ways
planet_osm_rels
With the --flat-nodes
option, the planet_osm_nodes
information is
instead stored in a binary file.
-
Runs a parser on the input file and processes the nodes, ways and relations.
-
If a node has a tag declared in the style file then it is added to
planet_osm_point
. Regardless of tags, its position is stored by the middle layer. -
If there are tags on a way in the style file as linear but without polygon tags, they are written into the lines and, depending on tags, roads tables.
They are also stored by the middle layer.
-
Ways without tags or with polygon tags are stored as "pending" in the middle layer.
-
Relations are parsed. In this stage, "new-style" multipolygon and boundary relations are turned into polygons. Route relations are turned into linestrings.
-
"Pending" ways are processed, and they are either added as just the way, or if a member of a multipolygon relation, they processed as multipolygons.
-
Indexes are built. This may take substantial time, particularly for the middle layer indexes created in non-slim mode.