diff options
author | Irina Truong <i.chernyavska@gmail.com> | 2019-08-28 08:26:24 -0700 |
---|---|---|
committer | Irina Truong <i.chernyavska@gmail.com> | 2019-08-28 08:26:24 -0700 |
commit | 04a74fce2c98304902b184be157a83daf1ba8bed (patch) | |
tree | 589e3dfb2506cbe3b521be3868eba4f4bb7247aa | |
parent | b2ebe0e95c6b9f28574804d5f1ea8d689ccd5211 (diff) |
Get server params, such as is_superuser and server_version, without extra queries.
-rw-r--r-- | pgcli/pgexecute.py | 21 |
1 files changed, 2 insertions, 19 deletions
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) |