3
我需要从查询中获取字段属性,例如在此问题中:How to get column attributes query from table name using PostgreSQL? 但对于查询,是否有这种方法?如何从使用PostgreSQL的查询中获取列属性?
我需要从查询中获取字段属性,例如在此问题中:How to get column attributes query from table name using PostgreSQL? 但对于查询,是否有这种方法?如何从使用PostgreSQL的查询中获取列属性?
假设你正在使用psycopg2
为您的数据库驱动程序,那么cursor.description
场是你想要什么:
import pprint
import psycopg2
conn = psycopg2.connect('');
curs = conn.cursor()
curs.execute("SELECT 1 as col1, 2 as col2, 'text' as colblah");
pprint.pprint(curs.description)
生产:
(Column(name='col1', type_code=23, display_size=None, internal_size=4, precision=None, scale=None, null_ok=None),
Column(name='col2', type_code=23, display_size=None, internal_size=4, precision=None, scale=None, null_ok=None),
Column(name='colblah', type_code=705, display_size=None, internal_size=-2, precision=None, scale=None, null_ok=None))
的类型代码是PostgreSQL的内部对象ID。
欲了解更多详细信息see the psycopg2
manual,它解释了如何将类型oids变成类型名称等。
您正在使用哪种编程语言? PL/pgSQL的? Java的? C++? – 2014-10-04 21:51:53
我正在使用Python。 – Starglider 2014-10-04 22:49:34
@Starglider ...和'psycopg2'数据库驱动程序? – 2014-10-05 05:50:03