WIP: Experimental middle implementations #1384
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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 membersis used.
mem
is similar toram
. It only stores node locations and way node lists in RAM. Used for import-only workflows that donot 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 eitherdb
ormem
. 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.