在 PostgreSQL 中查询所有数据表名称有几种方法:

1. 查询所有表(包括系统表)

SELECT tablename FROM pg_tables;

2. 查询当前数据库的所有用户表

SELECT tablename 
FROM pg_tables 
WHERE schemaname = 'public';

3. 查询所有模式下的用户表

SELECT schemaname, tablename 
FROM pg_tables 
WHERE schemaname NOT IN ('information_schema', 'pg_catalog');

4. 使用 information_schema(标准 SQL 方法)

SELECT table_name 
FROM information_schema.tables 
WHERE table_schema = 'public'
  AND table_type = 'BASE TABLE';

5. 查询特定模式下的所有表

-- 查询 public 模式下的表
SELECT table_name 
FROM information_schema.tables 
WHERE table_schema = 'public';

-- 查询所有模式下的表
SELECT table_schema, table_name 
FROM information_schema.tables 
WHERE table_type = 'BASE TABLE';

6. 使用 psql 命令行工具

# 连接到数据库后使用
\dt

# 显示所有模式下的表
\dt *.*

# 显示详细信息
\dt+

常用查询示例

获取表数量:

SELECT COUNT(*) 
FROM information_schema.tables 
WHERE table_schema = 'public';

按表名排序:

SELECT tablename 
FROM pg_tables 
WHERE schemaname = 'public'
ORDER BY tablename;

查看表和对应的模式:

SELECT schemaname
Logo

这里是“一人公司”的成长家园。我们提供从产品曝光、技术变现到法律财税的全栈内容,并连接云服务、办公空间等稀缺资源,助你专注创造,无忧运营。

更多推荐