From 27128f26189d9a2794bfaf8e5d8081a3e3d5e9d7 Mon Sep 17 00:00:00 2001 From: Christophe Monniez <moc@odoo.com> Date: Fri, 10 Nov 2017 10:56:31 +0100 Subject: [PATCH] [FIX] db: remove usage of get_dsn_parameters get_dsn_parameters may return in some edges cases (like on runbot) and empty value for the user. So it should not be used here, instead, a SQL query is able to provide the currently connected user. Also, get_dsn_parameters is new in psycopg 2.7. --- odoo/service/db.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/odoo/service/db.py b/odoo/service/db.py index 8621144e35d0..117dae69baa2 100644 --- a/odoo/service/db.py +++ b/odoo/service/db.py @@ -361,7 +361,8 @@ def list_dbs(force=False): db = odoo.sql_db.db_connect('postgres') with closing(db.cursor()) as cr: try: - db_user = cr._cnx.get_dsn_parameters().get('user') + cr.execute('SELECT current_user') + db_user = cr.fetchone() if db_user: cr.execute("select datname from pg_database where datdba=(select usesysid from pg_user where usename=%s) and not datistemplate and datallowconn and datname not in %s order by datname", (db_user, templates_list)) else: -- GitLab