OpenStreetMap data to PostgreSQL converter
This is a bugfix release with only minor changes.
Changes:
--drop
is used. This changes one of the log messages to the more specific "Table '{}' dropped in {}".osm2pgsql-replication
. Prints the current replication status, and with --json
prints that as JSON data. (thanks @amandasaurus)Note that this is the last version which will compile with C++14. The next version 1.6.0 will need C++17.
This is a bugfix release. It contains some important bug fixes, so everybody is encouraged to update.
Here are the changes:
UNLOGGED
to get better performance. We fixed a bug where non-temporary output tables were also created as UNLOGGED
(when clustering was disabled.)create_only
are now only created in final tables, not temporary tables. This avoids some problems, for instance when using columnn type SERIAL
.IMMUTABLE
volatility classification from validity check trigger function.osm2pgsql.config_dir
global Lua variable.This release brings quite a lot of improvements. We removed the "experimental" label from the flex output which we introduced in version 1.3.0. There are some small changes you might have to make to your flex configurations, see the Upgrading chapter of the manual for details.
This release also contains a rewrite of the code used to temporarily store OSM data in memory while processing the data in non-slim mode, i.e. when you import data without --slim
. It now uses much less memory.
Other changes:
cluster
table option in the flex config file which allows you to disable clustering of the table data by geometry.attributes.lua
) showing how to access OSM object attributes (such as timestamp, user name, etc.) from Lua.--flat-nodes/-F
is used in non-slim mode.--log-level=debug
.--log-level=debug
is set.This is a minor bugfix release that fixes the following issues:
NULL
instead of 0.0 for columns of type double.The release also adds a new osm2pgsql-replication
script to simplify the process of downloading and applying updates. It requires pyosmium and psycopg2. See #1411 for more information.
This is a minor release with some bug fixes and internal cleanups and changes, mostly in the "middle" code and geometry processing.
We have released all example config files for the flex output into the Public Domain, so they can be used as widely as possible.
Fixes:
Other changes:
The project has a new website at https://osm2pgsql.org now with extensive documentation and examples, and with sections on support, contributing, news, etc. Most of the documentation from the repository and the OSM wiki was moved there. We still have a man page, it is now maintained in markdown format. All the documentation, man page, help texts etc. have been cleaned up, made more consistent and brought up to date.
The program has a much improved log output now. Each line is prefixed with a date/timestamp and by default osm2pgsql isn't as verbose any more. You can change the verbosity using several options. You can even have super-verbose logging of all SQL commands issued and all data written to the database. Warnings and errors now appear in red color if your console supports it. Progress output can be disabled, for instance, when the output is redirected to a file. When printing how low something took, osm2pgsql will now not only print the seconds but also a more human readable format with hours, minutes, and seconds.
In the last release (version 1.3.0) we have already added a warning when you used input files with negative OSM object ids or input files which are not ordered correctly. These are now not allowed any more and osm2pgsql will stop with an error if it detects these. See the manual for how to work around this. This allowed us to improve the handling of multiple input files. Osm2pgsql now reads multiple input files at the same time merging the contents. This means that you can now import several extracts in one go. Note that the extracts still have to come from the same point in time!
Changes in the flex output (which is still marked experimental). Not that some of these are breaking changes compared to the behaviour in version 1.3.0:
--latlong
, -m
, --merc
, -E
, and --proj
are not used by the flex output any more.type_column
fixed. Now also supports id columns compatible with Imposm.multi
option on the area geometry transformation has been removed and there is a new option split_at
.Other changes:
planet_osm_nodes
table if flat nodes are used.-d/--database
option.--with-forward-dependencies
option. This allows to disable dependency management. Used for Nominatim.The 'multi' output was already deprecated in the last version (1.3.0), it will be removed in the next release.
This release introduces the new "flex" output. It allows a more flexible definition of output tables and columns. It also adds a second stage of processing which makes it possible to get information from relations to their members, allowing, for instance, to render tags from bicycle route relations on their member ways. The "flex" output is configured through Lua scripts.
The flex output is currently still marked as experimental, because it is new and we want to collect feedback from the community before finalizing the API. But it already works well and users are encouraged to try it out. Some new features are only or will only be available in the flex output and we expect that it will replace the other outputs in the long term.
Some features have been marked as deprecated:
Further changes:
style.json
file.
This is a breaking change. Users might have to change the file names of
their lua scripts in the style files.boost::format
and hand-written mechanisms. A version of fmt is included
in the contrib directory.ST_GeoHash
for ordering tables by geometry on Postgis >= 2.4.
Instead use the default ordering which works better now.This release only updates the bundled version of libosmium. The new version 2.15.6 fixes an issue where complicated multipolygons make osm2pgsql hang.