3 require_once(CONST_BasePath.'/lib/init-cmd.php');
 
  11 $print_success = function ($message = 'OK') use ($term_colors) {
 
  12     echo $term_colors['green'].$message.$term_colors['normal']."\n";
 
  15 $print_fail = function ($message = 'Failed') use ($term_colors) {
 
  16     echo $term_colors['red'].$message.$term_colors['normal']."\n";
 
  20 $oDB = new Nominatim\DB;
 
  23 echo 'Checking database got created ... ';
 
  24 if ($oDB->databaseExists()) {
 
  30     * Is the database server started?
 
  31     * Check the CONST_Database_DSN variable in build/settings/local.php
 
  32     * Try connecting to the database with the same settings
 
  39 echo 'Checking nominatim.so module installed ... ';
 
  40 $sStandardWord = $oDB->getOne("SELECT make_standard_name('a')");
 
  41 if ($sStandardWord === 'a') {
 
  46     The Postgresql extension nominatim.so was not found in the database.
 
  48     * Check the output of the CMmake/make installation step
 
  49     * Does nominatim.so exist?
 
  50     * Does nominatim.so exist on the database server?
 
  51     * Can nominatim.so be accessed by the database user?
 
  57 echo 'Checking place table ... ';
 
  58 if ($oDB->tableExists('place')) {
 
  63     * The import didn't finish.
 
  65     * Check the output of the utils/setup.php you ran.
 
  66     Usually the osm2pgsql step failed. Check for errors related to
 
  67     * the file you imported not containing any places
 
  70     * osm2pgsql killed by other scripts, for consuming to much memory
 
  78 echo 'Checking indexing status ... ';
 
  79 $iUnindexed = $oDB->getOne('SELECT count(*) FROM placex WHERE indexed_status > 0');
 
  80 if ($iUnindexed == 0) {
 
  85     The indexing didn't finish. There is still $iUnindexed places. See the
 
  86     question 'Can a stopped/killed import process be resumed?' in the
 
  87     troubleshooting guide.
 
  93 echo "Search index creation\n";
 
  94 $aExpectedIndices = array(
 
  95     // sql/indices.src.sql
 
  97     'idx_place_addressline_address_place_id',
 
  98     'idx_placex_rank_search',
 
  99     'idx_placex_rank_address',
 
 100     'idx_placex_pendingsector',
 
 101     'idx_placex_parent_place_id',
 
 102     'idx_placex_geometry_reverse_lookuppoint',
 
 103     'idx_placex_geometry_reverse_lookuppolygon',
 
 104     'idx_placex_geometry_reverse_placenode',
 
 105     'idx_location_area_country_place_id',
 
 106     'idx_osmline_parent_place_id',
 
 107     'idx_osmline_parent_osm_id',
 
 108     'idx_place_osm_unique',
 
 110     'idx_postcode_postcode',
 
 112     // sql/indices_search.src.sql
 
 113     'idx_search_name_nameaddress_vector',
 
 114     'idx_search_name_name_vector',
 
 115     'idx_search_name_centroid'
 
 118 foreach ($aExpectedIndices as $sExpectedIndex) {
 
 119     echo "Checking index $sExpectedIndex ... ";
 
 120     if ($oDB->indexExists($sExpectedIndex)) {
 
 126         * Rerun the setup.php --create-search-indices step
 
 133 if (CONST_Use_US_Tiger_Data) {
 
 134     echo 'Checking TIGER table exists ... ';
 
 135     if ($oDB->tableExists('location_property_tiger')) {
 
 140         Table 'location_property_tiger' does not exist. Run the TIGER data