mirror of
https://github.com/dbcli/pgcli
synced 2024-06-16 01:42:23 +00:00
Merge pull request #915 from dbcli/j-bennet/add-server-version
Print server version as part of welcome message.
This commit is contained in:
commit
abc8d51dd3
|
@ -599,6 +599,7 @@ class PGCli(object):
|
|||
self.cli = self._build_cli(history)
|
||||
|
||||
if not self.less_chatty:
|
||||
print('Server: PostgreSQL', self.pgexecute.get_server_version())
|
||||
print('Version:', __version__)
|
||||
print('Chat: https://gitter.im/dbcli/pgcli')
|
||||
print('Mail: https://groups.google.com/forum/#!forum/pgcli')
|
||||
|
|
|
@ -183,6 +183,8 @@ class PGExecute(object):
|
|||
SELECT pg_catalog.pg_get_functiondef(f.f_oid)
|
||||
FROM f'''
|
||||
|
||||
version_query = "SELECT current_setting('server_version')"
|
||||
|
||||
def __init__(self, database, user, password, host, port, dsn, **kwargs):
|
||||
self.dbname = database
|
||||
self.user = user
|
||||
|
@ -191,8 +193,19 @@ class PGExecute(object):
|
|||
self.port = port
|
||||
self.dsn = dsn
|
||||
self.extra_args = {k: unicode2utf8(v) for k, v in kwargs.items()}
|
||||
self.server_version = None
|
||||
self.connect()
|
||||
|
||||
def get_server_version(self):
|
||||
if self.server_version:
|
||||
return self.server_version
|
||||
with self.conn.cursor() as cur:
|
||||
_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 ''
|
||||
return self.server_version
|
||||
|
||||
def connect(self, database=None, user=None, password=None, host=None,
|
||||
port=None, dsn=None, **kwargs):
|
||||
|
||||
|
@ -280,18 +293,15 @@ class PGExecute(object):
|
|||
else:
|
||||
return json_data
|
||||
|
||||
|
||||
def failed_transaction(self):
|
||||
status = self.conn.get_transaction_status()
|
||||
return status == ext.TRANSACTION_STATUS_INERROR
|
||||
|
||||
|
||||
def valid_transaction(self):
|
||||
status = self.conn.get_transaction_status()
|
||||
return (status == ext.TRANSACTION_STATUS_ACTIVE or
|
||||
status == ext.TRANSACTION_STATUS_INTRANS)
|
||||
|
||||
|
||||
def run(self, statement, pgspecial=None, exception_formatter=None,
|
||||
on_error_resume=False):
|
||||
"""Execute the sql in the database and return the results.
|
||||
|
@ -707,7 +717,6 @@ class PGExecute(object):
|
|||
for row in cur:
|
||||
yield row
|
||||
|
||||
|
||||
def casing(self):
|
||||
"""Yields the most common casing for names used in db functions"""
|
||||
with self.conn.cursor() as cur:
|
||||
|
|
Loading…
Reference in New Issue
Block a user