From: marc tobias Date: Tue, 14 Jan 2020 18:36:40 +0000 (+0100) Subject: check_import_finished: check for invalid indices X-Git-Tag: v3.5.0~100^2~1 X-Git-Url: https://git.openstreetmap.org/nominatim.git/commitdiff_plain/6b0afd5d9bf0035f7dc82dfa81f84bd0a7d1fedd check_import_finished: check for invalid indices --- diff --git a/utils/check_import_finished.php b/utils/check_import_finished.php index 7828f5cf..82d5b509 100755 --- a/utils/check_import_finished.php +++ b/utils/check_import_finished.php @@ -130,6 +130,31 @@ END; } } +echo 'Checking search indices are valid ... '; +$sSQL = <<< END + SELECT relname + FROM pg_class, pg_index + WHERE pg_index.indisvalid = false + AND pg_index.indexrelid = pg_class.oid; +END; +$aInvalid = $oDB->getCol($sSQL); +if (empty($aInvalid)) { + $print_success(); +} else { + $print_fail(); + echo <<< END + At least one index is invalid. That can happen, e.g. when index creation was + disrupted and later restarted. You should run the index stage of setup again. + See the question 'Can a stopped/killed import process be resumed?' in the + troubleshooting guide. + Affected indices: +END; + echo join(', ', $aInvalid) . "\n"; + exit(1); +} + + + if (CONST_Use_US_Tiger_Data) { echo 'Checking TIGER table exists ... '; if ($oDB->tableExists('location_property_tiger')) {