]> git.openstreetmap.org Git - nominatim.git/commitdiff
Merge pull request #1813 from lonvia/revert-concurrent-indexing
authorSarah Hoffmann <lonvia@denofr.de>
Mon, 1 Jun 2020 20:13:33 +0000 (22:13 +0200)
committerGitHub <noreply@github.com>
Mon, 1 Jun 2020 20:13:33 +0000 (22:13 +0200)
revert building indexes concurrently

docs/admin/Installation.md
nominatim/nominatim.py

index f3f54794c0a98746c6925721884f17bbe5637d2d..cf994c4c7a6b8fe7c4cc27d59d30fb55d09b4d88 100644 (file)
@@ -36,8 +36,8 @@ For compiling:
 
 For running Nominatim:
 
-  * [PostgreSQL](https://www.postgresql.org) (9.3 - 11)
-  * [PostGIS](https://postgis.org) (2.2 - 2.5)
+  * [PostgreSQL](https://www.postgresql.org) (9.3+)
+  * [PostGIS](https://postgis.org) (2.2+)
   * [Python 3](https://www.python.org/)
   * [Psycopg2](https://initd.org/psycopg)
   * [PHP](https://php.net) (7.0 or later)
@@ -45,10 +45,6 @@ For running Nominatim:
   * PHP-intl (bundled with PHP)
   * a webserver (apache or nginx are recommended)
 
-!!! danger "Important"
-    Postgresql 12+ and Postgis 3.0+ are known to cause performance issues. They are
-    not recommended for a production installation at the moment.
-
 For running continuous updates:
 
   * [pyosmium](https://osmcode.org/pyosmium/) (with Python 3)
index 3e9c2f1644116e1efab46bd0e03c8291f9687ce6..b29bf343e035e02cdfd62a43e0e0d3a01ebebcd5 100755 (executable)
@@ -124,6 +124,15 @@ class DBConnection(object):
         self.wait()
 
         self.cursor = self.conn.cursor()
+        # Disable JIT and parallel workers as they are known to cause problems.
+        # Update pg_settings instead of using SET because it does not yield
+        # errors on older versions of Postgres where the settings are not
+        # implemented.
+        self.perform(
+            """ UPDATE pg_settings SET setting = -1 WHERE name = 'jit_above_cost';
+                UPDATE pg_settings SET setting = 0 
+                   WHERE name = 'max_parallel_workers_per_gather';""")
+        self.wait()
 
     def wait(self):
         """ Block until any pending operation is done.