]> git.openstreetmap.org Git - nominatim.git/commitdiff
add constant to define postgis version. Verify definted version constants are correc...
authorBrian Quinion <openstreetmap@brian.quinion.co.uk>
Tue, 18 Dec 2012 13:09:50 +0000 (13:09 +0000)
committerBrian Quinion <openstreetmap@brian.quinion.co.uk>
Tue, 18 Dec 2012 13:09:50 +0000 (13:09 +0000)
settings/settings.php
utils/setup.php

index cd97b4a76fd7c9feda9ba19278df5c7880b394d6..afa20d208aa106b9224b5bc1d5f802ad34baa3f3 100644 (file)
@@ -7,8 +7,11 @@
        @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');
index ed4b79c0adbfe3647c1374e76183b48acfe487d4..01aa806257f656be740396ca71dfb8d53615a3ce 100755 (executable)
                // 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');