diff -r d8ff52a0390f -r 10551741f61f listtables.py --- a/listtables.py Wed Jul 09 18:03:54 2014 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,35 +0,0 @@ -#!/usr/bin/env python3 - -from pydbkit import pgbrowser, toolbase - - -class ListTablesTool(toolbase.SimpleTool): - def __init__(self): - toolbase.SimpleTool.__init__(self, name='listtables', desc='List tables in database.') - self.parser.add_argument('-o', dest='options', type=str, nargs='*', help='Filter by options (eg. -o autovacuum_enabled=false).') - - def main(self): - browser = pgbrowser.PgBrowser(self.pgm.get_conn('target')) - - # scan all tables from all shemas, remember names and sizes - tables = [] - for schema in browser.schemas.values(): - for table in schema.tables.values(): - for option in self.args.options: - if option in table.options: - tables.append(table) - - # print result - if len(tables): - print('Found %d tables:' % len(tables)) - else: - print('No table meets the conditions.') - for table in tables: - table_name = '%s.%s' % (table.schema.name, table.name) - print(' ', table_name) - - -tool = ListTablesTool() -tool.setup() -tool.main() -