diff --git a/installer.cfg b/installer.cfg index 5f4747a..cc2c066 100644 --- a/installer.cfg +++ b/installer.cfg @@ -25,7 +25,7 @@ dbname = modoboa dbuser = modoboa dbpassword = password # Extensions to install (you can use the 'all' shortcut) -extensions = modoboa-admin modoboa-admin-relaydomains modoboa-admin-limits modoboa-amavis modoboa-pdfcrendentials modoboa-postfix-autoreply modoboa-sievefilters modoboa-stats modoboa-webmail +extensions = modoboa-admin modoboa-admin-relaydomains modoboa-admin-limits modoboa-amavis modoboa-pdfcredentials modoboa-postfix-autoreply modoboa-sievefilters modoboa-stats modoboa-webmail [amavis] enabled = true diff --git a/modoboa_installer/database.py b/modoboa_installer/database.py index ac25148..67c354e 100644 --- a/modoboa_installer/database.py +++ b/modoboa_installer/database.py @@ -40,10 +40,13 @@ class PostgreSQL(Database): super(PostgreSQL, self).__init__(config) self._pgpass_done = False - def _exec_query(self, query): + def _exec_query(self, query, dbname=None, dbuser=None): """Exec a postgresql query.""" + cmd = "psql" + if dbname and dbuser: + cmd += " -d {} -U {} -w".format(dbname, dbuser) utils.exec_cmd( - """psql -c "{}" """.format(query), sudo_user=self.dbuser) + """{} -c "{}" """.format(cmd, query), sudo_user=self.dbuser) def create_user(self, name, password): """Create a user.""" @@ -114,7 +117,7 @@ class MySQL(Database): utils.exec_cmd("echo '{}' | debconf-set-selections".format(cfg)) super(MySQL, self).install_package() - def _exec_query(self, query): + def _exec_query(self, query, dbname=None, dbuser=None): """Exec a postgresql query.""" utils.exec_cmd( """mysql -u {} -p{} -e "{}" """ diff --git a/modoboa_installer/scripts/modoboa.py b/modoboa_installer/scripts/modoboa.py index ec53b02..ab78c38 100644 --- a/modoboa_installer/scripts/modoboa.py +++ b/modoboa_installer/scripts/modoboa.py @@ -103,7 +103,7 @@ class Modoboa(base.Installer): "UPDATE lib_parameter SET value='{}' WHERE name='{}'" .format(value, name) ) - self.backend._exec_query(query) + self.backend._exec_query(query, self.dbname, self.dbuser) def post_run(self): """Additional tasks."""