X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/5d160ec514af97af2f430bbe9b02360ae4f0767c..ff2e5a81d99c460d4de13e19a75f38cb4894415f:/utils/setup.php?ds=inline diff --git a/utils/setup.php b/utils/setup.php index e588bb08..32b56700 100755 --- a/utils/setup.php +++ b/utils/setup.php @@ -89,6 +89,8 @@ $aDSNInfo = DB::parseDSN(CONST_Database_DSN); if (!isset($aDSNInfo['port']) || !$aDSNInfo['port']) $aDSNInfo['port'] = 5432; + $fPostgisVersion = (float) CONST_Postgis_Version; + if ($aCMDResult['create-db'] || $aCMDResult['all']) { echo "Create DB\n"; @@ -110,7 +112,7 @@ $oDB =& getDB(); $sVersionString = $oDB->getOne('select version()'); - preg_match('#PostgreSQL ([0-9]+)[.]([0-9]+)[.]([0-9]+) #', $sVersionString, $aMatches); + preg_match('#PostgreSQL ([0-9]+)[.]([0-9]+)[^0-9]#', $sVersionString, $aMatches); if (CONST_Postgresql_Version != $aMatches[1].'.'.$aMatches[2]) { echo "ERROR: PostgreSQL version is not correct. Expected ".CONST_Postgresql_Version." found ".$aMatches[1].'.'.$aMatches[2]."\n"; @@ -126,7 +128,6 @@ pgsqlRunScript('CREATE EXTENSION hstore'); } - $fPostgisVersion = (float) CONST_Postgis_Version; if ($fPostgisVersion < 2.0) { pgsqlRunScriptFile(CONST_Path_Postgresql_Postgis.'/postgis.sql'); pgsqlRunScriptFile(CONST_Path_Postgresql_Postgis.'/spatial_ref_sys.sql'); @@ -216,6 +217,14 @@ if ($aCMDResult['enable-debug-statements']) $sTemplate = str_replace('--DEBUG:', '', $sTemplate); if (CONST_Limit_Reindexing) $sTemplate = str_replace('--LIMIT INDEXING:', '', $sTemplate); pgsqlRunScript($sTemplate); + if ($fPostgisVersion < 2.0) { + echo "Helper functions for postgis < 2.0\n"; + $sTemplate = file_get_contents(CONST_BasePath.'/sql/postgis_15_aux.sql'); + } else { + echo "Helper functions for postgis >= 2.0\n"; + $sTemplate = file_get_contents(CONST_BasePath.'/sql/postgis_20_aux.sql'); + } + pgsqlRunScript($sTemplate); } if ($aCMDResult['create-minimal-tables']) @@ -686,6 +695,10 @@ { showUsage($aCMDOptions, true); } + else + { + echo "Setup finished.\n"; + } function pgsqlRunScriptFile($sFilename) {