summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAmjith Ramanujam <amjith.r@gmail.com>2019-09-02 12:36:15 -0700
committerGitHub <noreply@github.com>2019-09-02 12:36:15 -0700
commit88b829aa824deef1166e01ee5fa0ab8813e25cac (patch)
treec65d44dda8a001503ff002792490122c12e32416
parentb2ebe0e95c6b9f28574804d5f1ea8d689ccd5211 (diff)
parent2e6ef5a84d3c6ac79d29b7d38764cdfe51588c47 (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.rst1
-rw-r--r--pgcli/pgexecute.py21
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)