import psycopg2
-from ..db.connection import connect
-from ..errors import UsageError
+from nominatim.db.connection import connect
+from nominatim.errors import UsageError
CHECKLIST = []
return decorator
-class _BadConnection: # pylint: disable=R0903
+class _BadConnection:
def __init__(self, msg):
self.msg = msg
""" Run a number of checks on the database and return the status.
"""
try:
- conn = connect(config.get_libpq_dsn())
+ conn = connect(config.get_libpq_dsn()).connection
except UsageError as err:
conn = _BadConnection(str(err))
if ret == CheckState.FATAL:
conn.close()
return 1
- if ret != CheckState.OK:
+ if ret in (CheckState.FATAL, CheckState.FAIL):
overall_result = 1
conn.close()
'idx_placex_rank_address',
'idx_placex_parent_place_id',
'idx_placex_geometry_reverse_lookuppolygon',
- 'idx_placex_geometry_reverse_placenode',
+ 'idx_placex_geometry_placenode',
'idx_osmline_parent_place_id',
'idx_osmline_parent_osm_id',
'idx_postcode_id',
indexes.extend(('idx_search_name_nameaddress_vector',
'idx_search_name_name_vector',
'idx_search_name_centroid'))
+ if conn.server_version_tuple() >= (11, 0, 0):
+ indexes.extend(('idx_placex_housenumber',
+ 'idx_osmline_parent_osm_id_with_hnr'))
if conn.table_exists('place'):
indexes.extend(('idx_placex_pendingsector',
'idx_location_area_country_place_id',
return CheckState.OK if cnt > 0 else CheckState.FATAL
+
@_check(hint="""\
The Postgresql extension nominatim.so was not correctly loaded.
# Likely just an interrupted update.
index_cmd = 'nominatim index'
else:
- # Looks like the import process got interupted.
+ # Looks like the import process got interrupted.
index_cmd = 'nominatim import --continue indexing'
return CheckState.FAIL, dict(count=cnt, index_cmd=index_cmd)
-
@_check(hint="""\
The following indexes are missing:
{indexes}