* [Ubuntu 20.04](../appendix/Install-on-Ubuntu-20.md)
* [Ubuntu 18.04](../appendix/Install-on-Ubuntu-18.md)
* [CentOS 8](../appendix/Install-on-Centos-8.md)
- * [CentOS 7.2](../appendix/Install-on-Centos-7.md)
These OS-specific instructions can also be found in executable form
in the `vagrant/` directory.
### Software
+!!! Warning
+ For larger installations you **must have** PostgreSQL 11+ and Postgis 3+
+ otherwise import and queries will be slow to the point of being unusable.
+ Query performance has marked improvements with PostgrSQL 13+ and Postgis 3.2+.
+
For compiling:
* [cmake](https://cmake.org/)
For running Nominatim:
- * [PostgreSQL](https://www.postgresql.org) (9.5+ will work, 11+ strongly recommended)
- * [PostGIS](https://postgis.net) (2.2+)
+ * [PostgreSQL](https://www.postgresql.org) (9.6+ will work, 11+ strongly recommended)
+ * [PostGIS](https://postgis.net) (2.2+ will work, 3.0+ strongly recommended)
* [Python 3](https://www.python.org/) (3.6+)
* [Psycopg2](https://www.psycopg.org) (2.7+)
* [Python Dotenv](https://github.com/theskumar/python-dotenv)
work_mem = (50MB)
effective_cache_size = (24GB)
synchronous_commit = off
- checkpoint_segments = 100 # only for postgresql <= 9.4
- max_wal_size = 1GB # postgresql > 9.4
+ max_wal_size = 1GB
checkpoint_timeout = 10min
checkpoint_completion_target = 0.9
also check out the osm2pgsql subproject:
```
-git clone --recursive git://github.com/openstreetmap/Nominatim.git
+git clone --recursive https://github.com/openstreetmap/Nominatim.git
```
The development version does not include the country grid. Download it separately:
sudo make install
```
+!!! warning
+ The default installation no longer compiles the PostgreSQL module that
+ is needed for the legacy tokenizer from older Nominatim versions. If you
+ are upgrading an older database or want to run the
+ [legacy tokenizer](../customize/Tokenizers.md#legacy-tokenizer) for
+ some other reason, you need to enable the PostgreSQL module via
+ cmake: `cmake -DBUILD_MODULE=on ../Nominatim`. To compile the module
+ you need to have the server development headers for PostgreSQL installed.
+ On Ubuntu/Debian run: `sudo apt install postgresql-server-dev-<postgresql version>`
+
+
Nominatim installs itself into `/usr/local` per default. To choose a different
installation directory add `-DCMAKE_INSTALL_PREFIX=<install root>` to the
cmake command. Make sure that the `bin` directory is available in your path