diff --git a/htdocs/admin/tools/dolibarr_export.php b/htdocs/admin/tools/dolibarr_export.php
index 2e4fffda27c..51d25d5328c 100644
--- a/htdocs/admin/tools/dolibarr_export.php
+++ b/htdocs/admin/tools/dolibarr_export.php
@@ -94,18 +94,18 @@ if ($_GET["msg"])
if ($db->label == 'MySQL')
{
?>
-
+
+
+
label == 'PostgreSQL')
{
- ?>
-
-
+
+
+
+ trans("RestoreDesc3",DOL_DATA_ROOT).'
';
@@ -118,6 +136,41 @@ if ($db->label == 'MySQL')
label == 'PostgreSQL')
+{
+?>
+
diff --git a/htdocs/langs/en_US/admin.lang b/htdocs/langs/en_US/admin.lang
index 39ba7ab3926..4642be6a737 100644
--- a/htdocs/langs/en_US/admin.lang
+++ b/htdocs/langs/en_US/admin.lang
@@ -146,7 +146,9 @@ ExportMethod=Export method
ImportMethod=Import method
ToBuildBackupFileClickHere=To build a backup file, click here.
ImportMySqlDesc=To import a backup file, you must use mysql command from command line:
+ImportPostgreSqlDesc=To import a backup file, you must use pg_restore command from command line:
ImportMySqlCommand=%s %s < mybackupfile.sql
+ImportPostgreSqlCommand=%s %s mybackupfile.sql
FileNameToGenerate=File name to generate
CommandsToDisableForeignKeysForImport=Command to disable foreign keys on import
ExportCompatibility=Compatibility of generated export file
diff --git a/htdocs/langs/fr_FR/admin.lang b/htdocs/langs/fr_FR/admin.lang
index 6f12136fef3..3f0386d50ca 100644
--- a/htdocs/langs/fr_FR/admin.lang
+++ b/htdocs/langs/fr_FR/admin.lang
@@ -146,7 +146,9 @@ ExportMethod= Méthode d'export
ImportMethod= Méthode d'import
ToBuildBackupFileClickHere= Pour générer un fichier de sauvegarde, cliquez ici.
ImportMySqlDesc= Pour importer une sauvegarde, il faut utiliser la commande mysql en ligne suivante:
+ImportPostgreSqlDesc=Pour importer une sauvegarde, il faut utiliser la commande pg_restore en ligne suivante:
ImportMySqlCommand= %s %s < monfichierbackup.sql
+ImportPostgreSqlCommand=%s %s monfichierbackup.sql
FileNameToGenerate= Nom du fichier à générer
CommandsToDisableForeignKeysForImport= Commande pour désactiver les clés étrangères à l'import
ExportCompatibility= Compatibilité du fichier export généré
diff --git a/htdocs/lib/databases/pgsql.lib.php b/htdocs/lib/databases/pgsql.lib.php
index 29f3d2ca9f3..4165e3ba77b 100644
--- a/htdocs/lib/databases/pgsql.lib.php
+++ b/htdocs/lib/databases/pgsql.lib.php
@@ -1236,16 +1236,25 @@ class DoliDb
*/
function getPathOfRestore()
{
- $fullpathofmysqldump='/pathtomysql/mysql';
+ $fullpathofdump='/pathtopgrestore/pg_restore';
- $resql=$this->query('SHOW VARIABLES LIKE \'basedir\'');
- if ($resql)
- {
- $liste=$this->fetch_array($resql);
- $basedir=$liste['Value'];
- $fullpathofmysqldump=$basedir.'bin/mysql';
- }
- return $fullpathofmysqldump;
+ if (file_exists('/usr/bin/pg_restore'))
+ {
+ $fullpathofdump='/usr/bin/pg_restore';
+ }
+ else
+ {
+ // TODO L'utilisateur de la base doit etre un superadmin pour lancer cette commande
+ $resql=$this->query('SHOW data_directory');
+ if ($resql)
+ {
+ $liste=$this->fetch_array($resql);
+ $basedir=$liste['data_directory'];
+ $fullpathofdump=preg_replace('/data$/','bin',$basedir).'/pg_restore';
+ }
+ }
+
+ return $fullpathofdump;
}
/**