不带模式表的PostgreSQL列表表
在阅读了PostgreSQL文档之后,我决定可以使用以下查询在PostgreSQL中创建表名的绝对列表不带模式表的PostgreSQL列表表,postgresql,Postgresql,在阅读了PostgreSQL文档之后,我决定可以使用以下查询在PostgreSQL中创建表名的绝对列表 SELECT tablename FROM pg_catalog.pg_tables ORDER BY tablename ASC; 这会单独生成(简化示例列表)…的行 我的桌子 我的桌子 pg_骨料 宝洁 阿莫普酒店 sql\u特性 sql\u实现\u信息 sql\u语言 不幸的是,这还列出了带有前缀的表,如pg_和sql_,我认为它们是数据库模式的一部分 如何使用SELECT查询列出不属
SELECT tablename FROM pg_catalog.pg_tables ORDER BY tablename ASC;
这会单独生成(简化示例列表)…的行
我的桌子
我的桌子
pg_骨料
宝洁
阿莫普酒店
sql\u特性
sql\u实现\u信息
sql\u语言
不幸的是,这还列出了带有前缀的表,如pg_
和sql_
,我认为它们是数据库模式的一部分
如何使用SELECT
查询列出不属于架构的表
我已经知道如何在PSQL命令行中使用\dtM
命令来实现这一点,尽管在本例中它不符合我的目的
在示例中,我只希望返回以下内容
我的桌子
我的桌子
对于这样的查询更容易使用:
select *
from information_schema.tables
where table_schema = 'public';
或者:
select *
from information_schema.tables
where table_schema not in ('pg_catalog', 'information_schema');
information\u schema.tables
已经过滤掉了temp
模式。谢谢@a\u horse\u,没有名称,SELECT*FROM information\u schema.tables,其中table\u schema不在('pg\u catalog','information\u schema')代码>工作得很好。希望我的笔记本电脑屏幕是高清的,这样当psql输出命令时(这样我就可以直观地使用它),我就可以在不启用wrap的情况下看到数据。例如,使用它来分析schema和public之间的差异。