diff options
author | Amjith Ramanujam <amjith.r@gmail.com> | 2019-09-02 12:36:15 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-09-02 12:36:15 -0700 |
commit | 88b829aa824deef1166e01ee5fa0ab8813e25cac (patch) | |
tree | c65d44dda8a001503ff002792490122c12e32416 | |
parent | b2ebe0e95c6b9f28574804d5f1ea8d689ccd5211 (diff) | |
parent | 2e6ef5a84d3c6ac79d29b7d38764cdfe51588c47 (diff) |
Merge pull request #1094 from dbcli/j-bennet/superuser-redundant-query
Get server params, such as is_superuser and server_version, without e…
-rw-r--r-- | changelog.rst | 1 | ||||
-rw-r--r-- | pgcli/pgexecute.py | 21 |
2 files changed, 3 insertions, 19 deletions
diff --git a/changelog.rst b/changelog.rst index dbfa2749..5384db7c 100644 --- a/changelog.rst +++ b/changelog.rst @@ -13,6 +13,7 @@ Bug fixes: * Error connecting to PostgreSQL 12beta1 (#1058). (Thanks: `Irina Truong`_) * Empty query caused error message (#1019) (Thanks: `Sebastian Janko`_) * History navigation bindings in multiline queries (#1004) (Thanks: `Pedro Ferrari`_) +* Can't connect to pgbouncer database (#1093). (Thanks: `Irina Truong`_) 2.1.1 ===== diff --git a/pgcli/pgexecute.py b/pgcli/pgexecute.py index 9e6c4b7c..7186ec13 100644 --- a/pgcli/pgexecute.py +++ b/pgcli/pgexecute.py @@ -219,19 +219,6 @@ class PGExecute(object): """Returns a clone of the current executor.""" return self.__class__(**self._conn_params) - def get_server_version(self, cursor): - _logger.debug("Version Query. sql: %r", self.version_query) - cursor.execute(self.version_query) - result = cursor.fetchone() - server_version = "" - if result: - # full version string looks like this: - # PostgreSQL 10.3 on x86_64-apple-darwin17.3.0, compiled by Apple LLVM version 9.0.0 (clang-900.0.39.2), 64-bit # noqa - # let's only retrieve version number - version_parts = result[0].split() - server_version = version_parts[1] - return server_version - def connect( self, database=None, @@ -291,14 +278,10 @@ class PGExecute(object): if not self.host: self.host = self.get_socket_directory() - cursor.execute("SHOW ALL") - db_parameters = dict(name_val_desc[:2] for name_val_desc in cursor.fetchall()) - pid = self._select_one(cursor, "select pg_backend_pid()")[0] self.pid = pid - self.superuser = db_parameters.get("is_superuser") == "1" - - self.server_version = self.get_server_version(cursor) + self.superuser = conn.get_parameter_status("is_superuser") in ("on", "1") + self.server_version = conn.get_parameter_status("server_version") register_date_typecasters(conn) register_json_typecasters(self.conn, self._json_typecaster) |