通常,如果我想在当前数据库中列出名为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
中列出上表中列的正确方法是什么?
答案 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