不带模式表的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查询列出不属

在阅读了PostgreSQL文档之后,我决定可以使用以下查询在PostgreSQL中创建表名的绝对列表

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之间的差异。