如何从psycopg2请求表大小?

时间:2018-09-20 16:08:46

标签: python python-3.x psycopg2

实验性地,以下工作:

from psycopg2 import sql
def table_size(conn, table):
    with conn.cursor() as cu:
        cu.execute(sql.SQL("SELECT pg_table_size({t}), pg_indexes_size({t});").format(t=sql.Literal(table)))
        return cu.fetchall()[0]

但是,我想知道我是否正确使用了sql.SQL/sql.Literal

例如,如何将表和列名称与值结合在一起?

def get(conn,table,key,value,column):
    with conn.cursor() as cu:
        cu.execute(sql.SQL("SELECT {c} FROM {t} WHERE {k} = %s;").format(
            c=sql.Identifier(column),t=sql.Identifier(table),k=sql.Identifier(key)),
                   (value, ))
        return cu.fetchall()

0 个答案:

没有答案