diff --git a/odoo/sql_db.py b/odoo/sql_db.py index 639e5174496..c290b0bb0b8 100644 --- a/odoo/sql_db.py +++ b/odoo/sql_db.py @@ -679,14 +679,11 @@ class ConnectionPool(object): ignore_keys = ['password'] dsn1, dsn2 = ({ alias_keys.get(key, key): str(value) - for key, value in (isinstance(dsn, str) and self._dsn_to_dict(dsn) or dsn).items() + for key, value in (psycopg2.extensions.parse_dsn(dsn) if isinstance(dsn, str) else dsn).items() if key not in ignore_keys } for dsn in (dsn1, dsn2)) return dsn1 == dsn2 - def _dsn_to_dict(self, dsn): - return dict(value.split('=', 1) for value in dsn.strip().split()) - class Connection(object): """ A lightweight instance of a connection to postgres