mirror of
https://github.com/osm-search/Nominatim.git
synced 2026-02-16 15:47:58 +00:00
add constant to define postgis version. Verify definted version constants are correct during database creation.
This commit is contained in:
@@ -7,8 +7,11 @@
|
|||||||
@define('CONST_Database_DSN', 'pgsql://@/nominatim');
|
@define('CONST_Database_DSN', 'pgsql://@/nominatim');
|
||||||
@define('CONST_Max_Word_Frequency', '50000');
|
@define('CONST_Max_Word_Frequency', '50000');
|
||||||
|
|
||||||
|
// Software versions
|
||||||
|
@define('CONST_Postgresql_Version', '9.1'); // values: 8.3, 8.4, 9.0, 9.1, 9.2
|
||||||
|
@define('CONST_Postgis_Version', '1.5'); // values: 1.5, 2.0
|
||||||
|
|
||||||
// Paths
|
// Paths
|
||||||
@define('CONST_Postgresql_Version', '9.1');
|
|
||||||
@define('CONST_Path_Postgresql_Contrib', '/usr/share/postgresql/'.CONST_Postgresql_Version.'/contrib');
|
@define('CONST_Path_Postgresql_Contrib', '/usr/share/postgresql/'.CONST_Postgresql_Version.'/contrib');
|
||||||
@define('CONST_Path_Postgresql_Postgis', CONST_Path_Postgresql_Contrib.'/postgis-1.5');
|
@define('CONST_Path_Postgresql_Postgis', CONST_Path_Postgresql_Contrib.'/postgis-1.5');
|
||||||
@define('CONST_Osm2pgsql_Binary', CONST_BasePath.'/osm2pgsql/osm2pgsql');
|
@define('CONST_Osm2pgsql_Binary', CONST_BasePath.'/osm2pgsql/osm2pgsql');
|
||||||
|
|||||||
@@ -105,6 +105,15 @@
|
|||||||
// TODO: path detection, detection memory, etc.
|
// TODO: path detection, detection memory, etc.
|
||||||
|
|
||||||
$oDB =& getDB();
|
$oDB =& getDB();
|
||||||
|
|
||||||
|
$sVersionString = $oDB->getOne('select version()');
|
||||||
|
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";
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
|
||||||
passthru('createlang plpgsql '.$aDSNInfo['database']);
|
passthru('createlang plpgsql '.$aDSNInfo['database']);
|
||||||
$pgver = (float) CONST_Postgresql_Version;
|
$pgver = (float) CONST_Postgresql_Version;
|
||||||
if ($pgver < 9.1) {
|
if ($pgver < 9.1) {
|
||||||
@@ -113,7 +122,16 @@
|
|||||||
} else {
|
} else {
|
||||||
pgsqlRunScript('CREATE EXTENSION hstore');
|
pgsqlRunScript('CREATE EXTENSION hstore');
|
||||||
}
|
}
|
||||||
|
|
||||||
pgsqlRunScriptFile(CONST_Path_Postgresql_Postgis.'/postgis.sql');
|
pgsqlRunScriptFile(CONST_Path_Postgresql_Postgis.'/postgis.sql');
|
||||||
|
$sVersionString = $oDB->getOne('select postgis_full_version()');
|
||||||
|
preg_match('#POSTGIS="([0-9]+)[.]([0-9]+)[.]([0-9]+) r([0-9]+)"#', $sVersionString, $aMatches);
|
||||||
|
if (CONST_Postgis_Version != $aMatches[1].'.'.$aMatches[2])
|
||||||
|
{
|
||||||
|
echo "ERROR: PostGIS version is not correct. Expected ".CONST_Postgis_Version." found ".$aMatches[1].'.'.$aMatches[2]."\n";
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
|
||||||
pgsqlRunScriptFile(CONST_Path_Postgresql_Postgis.'/spatial_ref_sys.sql');
|
pgsqlRunScriptFile(CONST_Path_Postgresql_Postgis.'/spatial_ref_sys.sql');
|
||||||
pgsqlRunScriptFile(CONST_BasePath.'/data/country_name.sql');
|
pgsqlRunScriptFile(CONST_BasePath.'/data/country_name.sql');
|
||||||
pgsqlRunScriptFile(CONST_BasePath.'/data/country_naturalearthdata.sql');
|
pgsqlRunScriptFile(CONST_BasePath.'/data/country_naturalearthdata.sql');
|
||||||
|
|||||||
Reference in New Issue
Block a user