osm2pgsql
osm2pgsql copied to clipboard
WIP: Experimental middle implementations
This PR adds two new middle implementations:
-
db
is similar topgsql
. All data is stored in the database. A new table structure with JSONB for tags and relation members is used. -
mem
is similar toram
. It only stores node locations and way node lists in RAM. Used for import-only workflows that do not need the flex-output two-stage processing.
These are EXPERIMENTAL! They are not well tested, not complete and performance might be horrible. They are intended to start a discussion about what we need and how to best implement it. This PR will evolve over time.
To enable these, set the environment variable OSM2PGSQL_MIDDLE
to either db
or mem
. This setting is independent of the --slim
setting! This way of setting the middle is temporary and gives us flexibility while experimenting, it will not be available in this form in the final implementation.
More about this on in my blog.
New version of this PR. The 'mem' middle has been removed, because it has been merged into master.
osm2pgsql has changed quite a lot since this PR was made and it isn't really useful any more. Closing here. We are still planning to reintroduce something like this later.