]> git.openstreetmap.org Git - nominatim.git/commitdiff
Ignore no-fatal errors during dump file restore
authorSarah Hoffmann <lonvia@denofr.de>
Sun, 28 Apr 2019 20:44:42 +0000 (22:44 +0200)
committerSarah Hoffmann <lonvia@denofr.de>
Sun, 28 Apr 2019 20:44:42 +0000 (22:44 +0200)
The owner should never be restored, the table should be owned
by the caller instead. Non-existing indexes and similar only
started to throw a warning with Postgresql 9.4 and later, so
ignore them explicitly there.

lib/setup/SetupClass.php

index c14190c3a1be66020216defca9686262ac44f3f0..d3f59296a23d35a91128ed7e0d083e6ded444fd4 100755 (executable)
@@ -753,7 +753,10 @@ class SetupFunctions
 
     private function pgsqlRunDropAndRestore($sDumpFile)
     {
-        $sCMD = 'pg_restore -p '.$this->aDSNInfo['port'].' -d '.$this->aDSNInfo['database'].' -Fc --clean '.$sDumpFile;
+        $sCMD = 'pg_restore -p '.$this->aDSNInfo['port'].' -d '.$this->aDSNInfo['database'].' --no-owner -Fc --clean '.$sDumpFile;
+        if ($this->oDB->getPostgresVersion() >= 9.04) {
+            $sCMD .= ' --if-exists';
+        }
         if (isset($this->aDSNInfo['hostspec'])) {
             $sCMD .= ' -h '.$this->aDSNInfo['hostspec'];
         }