PgManager: log connection name with queries. BatchUpdateTool: handle some possible exceptions and try reconnect to database.
#!/usr/bin/env python3.2
from pgtoolkit import pgbrowser, toolbase, prettysize
class BigTablesTool(toolbase.SimpleTool):
def __init__(self):
toolbase.SimpleTool.__init__(self, name='bigtables', desc='List largest tables.')
self.init()
def main(self):
browser = pgbrowser.PgBrowser(self.pgm.get_conn('target'))
tables = browser.list_tables()
for table in sorted(tables, reverse=True, key=lambda x: x['size'])[:20]:
print(prettysize.prettysize_short(table['size']).rjust(8), table['name'], sep=' ')
tool = BigTablesTool()
tool.main()