mirror of
https://github.com/osm-search/Nominatim.git
synced 2024-12-24 13:31:37 +03:00
Disable JIT and parallel workers when indexing
Locally disable jit and parallel workers in the connection that do indexing. The query planner tends to be overenthusiatic about using JIT. But with the rather less complex queries we have, the overhead tends to be larger than the performance gain. Fixes #1677.
This commit is contained in:
parent
4956f5e710
commit
cca366196d
@ -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.
|
||||
|
Loading…
Reference in New Issue
Block a user