@define('CONST_Database_DSN', 'pgsql://@/nominatim');
@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
- @define('CONST_Postgresql_Version', '9.1');
@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_Osm2pgsql_Binary', CONST_BasePath.'/osm2pgsql/osm2pgsql');
// TODO: path detection, detection memory, etc.
$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']);
$pgver = (float) CONST_Postgresql_Version;
if ($pgver < 9.1) {
} else {
pgsqlRunScript('CREATE EXTENSION hstore');
}
+
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_BasePath.'/data/country_name.sql');
pgsqlRunScriptFile(CONST_BasePath.'/data/country_naturalearthdata.sql');