# Updating the Database
There are many different ways to update your Nominatim database.
-The following section describes how to keep it up-to-date with Pyosmium.
-For a list of other methods see the output of `./utils/update.php --help`.
+The following section describes how to keep it up-to-date using
+an [online replication service for OpenStreetMap data](https://wiki.openstreetmap.org/wiki/Planet.osm/diffs)
+For a list of other methods to add or update data see the output of
+`nominatim add-data --help`.
-!!! warning
+!!! important
If you have configured a flatnode file for the import, then you
- need to keep this flatnode file around for updates as well.
+ need to keep this flatnode file around for updates.
#### Installing the newest version of Pyosmium
pip3 install --user osmium
```
-Nominatim needs a tool called `pyosmium-get-changes` which comes with
-Pyosmium. You need to tell Nominatim where to find it. Add the
-following line to your `settings/local.php`:
-
- @define('CONST_Pyosmium_Binary', '/home/user/.local/bin/pyosmium-get-changes');
-
-The path above is fine if you used the `--user` parameter with pip.
-Replace `user` with your user name.
-
#### Setting up the update process
Next the update needs to be initialised. By default Nominatim is configured
to update using the global minutely diffs.
If you want a different update source you will need to add some settings
-to `settings/local.php`. For example, to use the daily country extracts
+to `.env`. For example, to use the daily country extracts
diffs for Ireland from Geofabrik add the following:
- // base URL of the replication service
- @define('CONST_Replication_Url', 'https://download.geofabrik.de/europe/ireland-and-northern-ireland-updates');
- // How often upstream publishes diffs
- @define('CONST_Replication_Update_Interval', '86400');
- // How long to sleep if no update found yet
- @define('CONST_Replication_Recheck_Interval', '900');
+ # base URL of the replication service
+ NOMINATIM_REPLICATION_URL="https://download.geofabrik.de/europe/ireland-and-northern-ireland-updates"
+ # How often upstream publishes diffs (in seconds)
+ NOMINATIM_REPLICATION_UPDATE_INTERVAL=86400
+ # How long to sleep if no update found yet (in seconds)
+ NOMINATIM_REPLICATION_RECHECK_INTERVAL=900
To set up the update process now run the following command:
- ./utils/update.php --init-updates
+ nominatim replication --init
It outputs the date where updates will start. Recheck that this date is
what you expect.
-The `--init-updates` command needs to be rerun whenever the replication service
-is changed.
+The `replication --init` command needs to be rerun whenever the replication
+service is changed.
#### Updating Nominatim
The following command will keep your database constantly up to date:
- ./utils/update.php --import-osmosis-all
-
-(Note that even though the old name "import-osmosis-all" has been kept for
-compatibility reasons, Osmosis is not required to run this - it uses pyosmium
-behind the scenes.)
+ nominatim replication
If you have imported multiple country extracts and want to keep them
up-to-date, [Advanced installations section](Advanced-Installations.md) contains instructions