summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAmjith Ramanujam <amjith.r@gmail.com>2018-07-24 15:23:56 -0700
committerGitHub <noreply@github.com>2018-07-24 15:23:56 -0700
commit9aae5ee34a38167a5eecc028d5bbf1fffa0596ab (patch)
tree29c8c8b22f7d1ac3442fa5f86ecb6f9ea2799a09
parente4f02b247edf5c10b817e8d09879faff6b493781 (diff)
parent3b7f30dff686e2245be2867817ea8202532f4bfc (diff)
Merge pull request #923 from dbcli/j-bennet/fix-server-version
Change server version query.
-rw-r--r--changelog.rst6
-rw-r--r--pgcli/pgexecute.py11
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,