是否有任何查询可用来列出我的Postgres数据库中的所有表。
我尝试了这样一个问题:
SELECT table_name FROM information_schema.tables
WHERE table_schema='public'
但是这个查询也返回视图。
我怎么能得到只有表名,只有,而不是视图?
是否有任何查询可用来列出我的Postgres数据库中的所有表。
我尝试了这样一个问题:
SELECT table_name FROM information_schema.tables
WHERE table_schema='public'
但是这个查询也返回视图。
我怎么能得到只有表名,只有,而不是视图?
当前回答
试试这个:
SELECT table_name
FROM information_schema.tables
WHERE table_schema='public' AND table_type='BASE TABLE'
这个有用!
其他回答
试试这个:
SELECT table_name
FROM information_schema.tables
WHERE table_schema='public' AND table_type='BASE TABLE'
这个有用!
这个查询(基于手册中的描述)怎么样?
SELECT table_name
FROM information_schema.tables
WHERE table_schema='public'
AND table_type='BASE TABLE';
打开postgres终端和你想要的数据库:
psql dbname (run this line in a terminal)
然后在postgres环境下执行该命令
\d
这将按名称描述所有表。基本上是一个按名称升序排列的表列表。
然后你可以尝试按字段描述一个表:
\d tablename.
希望这能有所帮助。
如果你想要数据库列表
SELECT datname FROM pg_database WHERE datistemplate = false;
如果您想要所有数据库当前pg安装的表列表
SELECT table_schema,table_name FROM information_schema.tables
ORDER BY table_schema,table_name;
select
relname as table
from
pg_stat_user_tables
where schemaname = 'public'
如果track_activities被禁用,这将不起作用
select
tablename as table
from
pg_tables
where schemaname = 'public'
阅读更多关于pg_tables的信息