X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/6a3c6c43ea7133c934834ce1face9212f4e3d239..6a0d00faf06b4726286bbfcb216c382ca2e23bd0:/utils/setup.php?ds=sidebyside diff --git a/utils/setup.php b/utils/setup.php index c6cc7773..501ad3f2 100755 --- a/utils/setup.php +++ b/utils/setup.php @@ -61,8 +61,11 @@ if ($aCMDResult['import-data'] || $aCMDResult['all']) { } -// This is a pretty hard core default - the number of processors in the box - 1 -$iInstances = isset($aCMDResult['threads'])?$aCMDResult['threads']:(getProcessorCount()-1); +// by default, use all but one processor, but never more than 15. +$iInstances = isset($aCMDResult['threads']) + ? $aCMDResult['threads'] + : (min(16, getProcessorCount()) - 1); + if ($iInstances < 1) { $iInstances = 1; warn("resetting threads to $iInstances"); @@ -152,7 +155,7 @@ if ($aCMDResult['setup-db'] || $aCMDResult['all']) { if (!file_exists(CONST_ExtraDataPath.'/country_osm_grid.sql.gz')) { echo 'Error: you need to download the country_osm_grid first:'; - echo "\n wget -O ".CONST_ExtraDataPath."/country_osm_grid.sql.gz http://www.nominatim.org/data/country_grid.sql.gz\n"; + echo "\n wget -O ".CONST_ExtraDataPath."/country_osm_grid.sql.gz https://www.nominatim.org/data/country_grid.sql.gz\n"; exit(1); } @@ -192,7 +195,7 @@ if ($aCMDResult['import-data'] || $aCMDResult['all']) { fail("osm2pgsql not found in '$osm2pgsql'"); } - if (!is_null(CONST_Osm2pgsql_Flatnode_File)) { + if (!is_null(CONST_Osm2pgsql_Flatnode_File) && CONST_Osm2pgsql_Flatnode_File) { $osm2pgsql .= ' --flat-nodes '.CONST_Osm2pgsql_Flatnode_File; } if (CONST_Tablespace_Osm2pgsql_Data) @@ -540,10 +543,8 @@ if ($aCMDResult['calculate-postcodes'] || $aCMDResult['all']) { $sSQL .= ' FROM us_postcode WHERE postcode NOT IN'; $sSQL .= ' (SELECT postcode FROM location_postcode'; $sSQL .= " WHERE country_code = 'us')"; - } else { - $sSQL .= 'TRUNCATE TABLE us_postcode'; + if (!pg_query($oDB->connection, $sSQL)) fail(pg_last_error($oDB->connection)); } - if (!pg_query($oDB->connection, $sSQL)) fail(pg_last_error($oDB->connection)); // add missing postcodes for GB (if available) $sSQL = 'INSERT INTO location_postcode'; @@ -598,6 +599,7 @@ if ($aCMDResult['create-search-indices'] || $aCMDResult['all']) { $bDidSomething = true; $sTemplate = file_get_contents(CONST_BasePath.'/sql/indices.src.sql'); + $sTemplate = str_replace('{www-user}', CONST_Database_Web_User, $sTemplate); $sTemplate = replace_tablespace( '{ts:address-index}', CONST_Tablespace_Address_Index, @@ -657,6 +659,7 @@ if ($aCMDResult['drop']) { 'import_polygon_*', 'import_status', 'place_addressline', + 'location_postcode', 'location_property*', 'placex', 'search_name', @@ -664,7 +667,6 @@ if ($aCMDResult['drop']) { 'word', 'query_log', 'new_query_log', - 'gb_postcode', 'spatial_ref_sys', 'country_name', 'place_classtype_*' @@ -692,7 +694,7 @@ if ($aCMDResult['drop']) { // been deleted already by CASCADE } - if (!is_null(CONST_Osm2pgsql_Flatnode_File)) { + if (!is_null(CONST_Osm2pgsql_Flatnode_File) && CONST_Osm2pgsql_Flatnode_File) { if ($aCMDResult['verbose']) echo 'deleting '.CONST_Osm2pgsql_Flatnode_File."\n"; unlink(CONST_Osm2pgsql_Flatnode_File); }