打印数据库中列条件的pythonic方法(psql)

pythonic way to print out column conditions in database (psql)

我在用factory boy做假模型的时候遇到了一个没有方向的严重错误:

DataError: value too long for type character varying(2)

是否有一种pythonic(或ruby)的方式来仅打印出数据库中varchar(2) 类型的列的名称?我假设它在某些 pgadmin3 元数据中?谢谢

对于 Postgres 查询,我认为这可以满足您的需求。

SELECT column_name FROM information_schema.columns WHERE table_name='some_table' AND data_type='varchar(2)';

这只会选择特定 table 中的所有 varchar(2) 列,但您可以删除该部分以在整个数据库中获取它们。您还可以为数据库中的特定模式添加 table_schema='some_schema'

至于 pythonic 或 ruby 的方式,除了 运行 在 psycopg 或其他一些 Postgres 适配器中查询之外,我不知道有什么。

有关 information_schema.columns

的更多信息