summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorManuel Barkhau <mb@nexttuesday.de>2016-09-21 19:24:21 +0200
committerManuel Barkhau <mb@nexttuesday.de>2016-09-21 19:24:21 +0200
commit185620bb3fe891fa6e074555f256df4bb2c58c63 (patch)
treeaeb676ae966d24e34fd6b81ccaedd016183e9934
parent0e88a91dc171a77953bb93ea421216acec8a292b (diff)
fixes #588 invalid setting for redshift
-rw-r--r--pgcli/pgexecute.py7
1 files changed, 4 insertions, 3 deletions
diff --git a/pgcli/pgexecute.py b/pgcli/pgexecute.py
index a02ae6c5..3e5d15e6 100644
--- a/pgcli/pgexecute.py
+++ b/pgcli/pgexecute.py
@@ -164,7 +164,6 @@ class PGExecute(object):
port = (port or self.port)
dsn = (dsn or self.dsn)
pid = -1
- superuser = False
if dsn:
if password:
dsn = "{0} password={1}".format(dsn, password)
@@ -186,7 +185,9 @@ class PGExecute(object):
cursor = conn.cursor()
- superuser = self._select_one(cursor, "select current_setting('is_superuser')::bool")[0]
+ cursor.execute("SHOW ALL")
+ db_parameters = dict(cursor.fetchall())
+
pid = self._select_one(cursor, 'select pg_backend_pid()')[0]
conn.set_client_encoding('utf8')
if hasattr(self, 'conn'):
@@ -199,7 +200,7 @@ class PGExecute(object):
self.host = host
self.port = port
self.pid = pid
- self.superuser = superuser
+ self.superuser = db_parameters.get('is_superuser') == '1'
register_date_typecasters(conn)
register_json_typecasters(self.conn, self._json_typecaster)