diff --git a/odoo/sql_db.py b/odoo/sql_db.py index 966719514bcc1a3eecfb744e267a24e9b22a3bd7..590816a1f7374e2be8e07bcf0563d65721478e0e 100644 --- a/odoo/sql_db.py +++ b/odoo/sql_db.py @@ -688,14 +688,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