]> git.openstreetmap.org Git - nominatim.git/blobdiff - docs/admin/Faq.md
recommend PostgreSQL 13+
[nominatim.git] / docs / admin / Faq.md
index 2e5a7c4334fb6e30a125af3659a63915788adeea..5737cef5540c5a3a4887a7f0fdb67c8ddbb1bb76 100644 (file)
@@ -16,12 +16,27 @@ was killed. If it looks like this:
 then you can resume with the following command:
 
 ```sh
-./utils/setup.php --index --create-search-indices --create-country-names
+nominatim import --continue indexing
 ```
 
 If the reported rank is 26 or higher, you can also safely add `--index-noanalyse`.
 
 
+### PostgreSQL crashed "invalid page in block"
+
+Usually serious problem, can be a hardware issue, not all data written to disc
+for example. Check PostgreSQL log file and search PostgreSQL issues/mailing
+list for hints.
+
+If it happened during index creation you can try rerunning the step with
+
+```sh
+nominatim import --continue indexing
+```
+
+Otherwise it's best to start the full setup from the beginning.
+
+
 ### PHP "open_basedir restriction in effect" warnings
 
     PHP Warning:  file_get_contents(): open_basedir restriction in effect.
@@ -38,7 +53,7 @@ by adding ";" at the beginning of the line. Don't forget to enable this setting
 again once you are done with the PHP command line operations.
 
 
-### PHP timzeone warnings
+### PHP timezeone warnings
 
 The Apache log may contain lots of PHP warnings like this:
     `PHP Warning:  date_default_timezone_set() function.`
@@ -64,11 +79,11 @@ When running the import you may get a version mismatch:
 
 pg_config seems to use bad includes sometimes when multiple versions
 of PostgreSQL are available in the system. Make sure you remove the
-server development libraries (`postgresql-server-dev-9.5` on Ubuntu)
+server development libraries (`postgresql-server-dev-13` on Ubuntu)
 and recompile (`cmake .. && make`).
 
 
-## I see the error "ERROR: permission denied for language c"
+### I see the error "ERROR: permission denied for language c"
 
 `nominatim.so`, written in C, is required to be installed on the database
 server. Some managed database (cloud) services like Amazon RDS do not allow
@@ -78,7 +93,7 @@ on a non-managed machine.
 
 ### I see the error: "function transliteration(text) does not exist"
 
-Reinstall the nominatim functions with `setup.php --create--functions`
+Reinstall the nominatim functions with `nominatim refresh --functions`
 and check for any errors, e.g. a missing `nominatim.so` file.
 
 ### I see the error: "ERROR: mmap (remap) failed"
@@ -93,7 +108,8 @@ vboxfs.
 
 ### nominatim UPDATE failed: ERROR: buffer 179261 is not owned by resource owner Portal
 
-Several users [reported this](https://github.com/openstreetmap/Nominatim/issues/1168) during the initial import of the database. It's
+Several users [reported this](https://github.com/openstreetmap/Nominatim/issues/1168)
+during the initial import of the database. It's
 something PostgreSQL internal Nominatim doesn't control. And PostgreSQL forums
 suggest it's threading related but definitely some kind of crash of a process.
 Users reported either rebooting the server, different hardware or just trying
@@ -105,22 +121,6 @@ The server cannot access your database. Add `&debug=1` to your URL
 to get the full error message.
 
 
-### On CentOS the website shows "Could not connect to server"
-
-`could not connect to server: No such file or directory`
-
-On CentOS v7 the PostgreSQL server is started with `systemd`. Check if
-`/usr/lib/systemd/system/httpd.service` contains a line `PrivateTmp=true`. If
-so then Apache cannot see the `/tmp/.s.PGSQL.5432` file. It's a good security
-feature, so use the
-[preferred solution](../appendix/Install-on-Centos-7/#adding-selinux-security-settings).
-
-However, you can solve this the quick and dirty way by commenting out that line and then run
-
-    sudo systemctl daemon-reload
-    sudo systemctl restart httpd
-
-
 ### Website reports "DB Error: insufficient permissions"
 
 The user the webserver, e.g. Apache, runs under needs to have access to the
@@ -151,7 +151,8 @@ Example error message
 
 The PostgreSQL database, i.e. user `postgres`, needs to have access to that file.
 
-The permission need to be read & executable by everybody, e.g.
+The permission need to be read & executable by everybody, but not writeable
+by everybody, e.g.
 
 ```
    -rwxr-xr-x 1 nominatim nominatim 297984 build/module/nominatim.so
@@ -160,7 +161,17 @@ The permission need to be read & executable by everybody, e.g.
 Try `chmod a+r nominatim.so; chmod a+x nominatim.so`.
 
 When running SELinux, make sure that the
-[context is set up correctly](../appendix/Install-on-Centos-7/#adding-selinux-security-settings).
+[context is set up correctly](../appendix/Install-on-Centos-8.md#adding-selinux-security-settings).
+
+When you recently updated your operating system, updated PostgreSQL to
+a new version or moved files (e.g. the build directory) you should
+recreate `nominatim.so`. Try
+
+```
+   cd build
+   rm -r module/
+   cmake $main_Nominatim_path && make
+```
 
 ### Setup.php fails with "DB Error: extension not found"
 
@@ -171,36 +182,12 @@ See the installation instructions for a full list of required packages.
 ### I forgot to delete the flatnodes file before starting an import.
 
 That's fine. For each import the flatnodes file get overwritten.
-See [https://help.openstreetmap.org/questions/52419/nominatim-flatnode-storage]()
+See [https://help.openstreetmap.org/questions/52419/nominatim-flatnode-storage](https://help.openstreetmap.org/questions/52419/nominatim-flatnode-storage)
 for more information.
 
 
 ## Running your own instance
 
-### Can I import multiple countries and keep them up to date?
-
-You should use the extracts and updates from https://download.geofabrik.de.
-For the initial import, download the countries you need and merge them.
-See [OSM Help](https://help.openstreetmap.org/questions/48843/merging-two-or-more-geographical-areas-to-import-two-or-more-osm-files-in-nominatim)
-for examples how to do that. Use the resulting single osm file when
-running `setup.php`.
-
-For updates you need to download the change files for each country
-once per day and apply them **separately** using
-
-    ./utils/update.php --import-diff <filename> --index
-
-See [this issue](https://github.com/openstreetmap/Nominatim/issues/60#issuecomment-18679446)
-for a script that runs the updates using osmosis.
-
 ### Can I import negative OSM ids into Nominatim?
 
 See [this question of Stackoverflow](https://help.openstreetmap.org/questions/64662/nominatim-flatnode-with-negative-id).
-
-### Missing XML or text declaration
-
-The website might show: `XML Parsing Error: XML or text declaration not at start of entity Location.`
-
-Make sure there are no spaces at the beginning of your `settings/local.php` file.
-
-