如何列出INFORMATION_SCHEMA.COLUMNS中的列?

时间:2014-04-17 06:35:11

标签: sql postgresql

通常,如果我想在当前数据库中列出名为foo的表中的列和类型,我将使用以下SQL语句。

SELECT column_name, data_type 
FROM INFORMATION_SCHEMA.COLUMNS 
where table_name = 'foo';

但是,我想列出表INFORMATION_SCHEMA.COLUMNS中的列,并且以下语句返回零结果。

SELECT column_name, data_type 
FROM INFORMATION_SCHEMA.COLUMNS 
where table_name = 'INFORMATION_SCHEMA.COLUMNS';

psql中列出上表中列的正确方法是什么?

1 个答案:

答案 0 :(得分:4)

表名和模式名称存储在两列中:

SELECT column_name, data_type 
FROM INFORMATION_SCHEMA.COLUMNS 
where table_name = 'columns'
  and table_schema = 'information_schema';

手册中的更多详细信息:http://www.postgresql.org/docs/current/static/infoschema-columns.html