diff options
author | Amjith Ramanujam <amjith.r@gmail.com> | 2018-07-24 15:23:56 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-07-24 15:23:56 -0700 |
commit | 9aae5ee34a38167a5eecc028d5bbf1fffa0596ab (patch) | |
tree | 29c8c8b22f7d1ac3442fa5f86ecb6f9ea2799a09 | |
parent | e4f02b247edf5c10b817e8d09879faff6b493781 (diff) | |
parent | 3b7f30dff686e2245be2867817ea8202532f4bfc (diff) |
Merge pull request #923 from dbcli/j-bennet/fix-server-version
Change server version query.
-rw-r--r-- | changelog.rst | 6 | ||||
-rw-r--r-- | pgcli/pgexecute.py | 11 |
2 files changed, 14 insertions, 3 deletions
diff --git a/changelog.rst b/changelog.rst index 23b27083..0ac3e5ad 100644 --- a/changelog.rst +++ b/changelog.rst @@ -1,7 +1,10 @@ Upcoming ======== -TODO +Bug fixes: +---------- + +* Fix for error retrieving version in Redshift (#922). (Thanks: `Irina Truong`_) 1.10.2 ====== @@ -15,6 +18,7 @@ Features: ====== Bug fixes: +---------- * Fix for missing keyring. (Thanks: `Kenny Do`_) * Fix for "-l" Flag Throws Error (#909). (Thanks: `Irina Truong`_) diff --git a/pgcli/pgexecute.py b/pgcli/pgexecute.py index d428e840..0d55ab01 100644 --- a/pgcli/pgexecute.py +++ b/pgcli/pgexecute.py @@ -183,7 +183,7 @@ class PGExecute(object): SELECT pg_catalog.pg_get_functiondef(f.f_oid) FROM f''' - version_query = "SELECT current_setting('server_version')" + version_query = "SELECT version();" def __init__(self, database, user, password, host, port, dsn, **kwargs): self.dbname = database @@ -203,7 +203,14 @@ class PGExecute(object): _logger.debug('Version Query. sql: %r', self.version_query) cur.execute(self.version_query) result = cur.fetchone() - self.server_version = result[0] if result else '' + 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() + self.server_version = version_parts[1] + else: + self.server_version = '' return self.server_version def connect(self, database=None, user=None, password=None, host=None, |