osm2pgsql icon indicating copy to clipboard operation
osm2pgsql copied to clipboard

WIP: Experimental middle implementations

Open joto opened this issue 4 years ago • 1 comments

This PR adds two new middle implementations:

  • db is similar to pgsql. All data is stored in the database. A new table structure with JSONB for tags and relation members is used.
  • mem is similar to ram. 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.

joto avatar Dec 21 '20 10:12 joto

New version of this PR. The 'mem' middle has been removed, because it has been merged into master.

joto avatar May 05 '21 13:05 joto

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.

joto avatar Jan 18 '23 15:01 joto