当前位置: 首页 > news >正文

【PostgreSQL】查询所有表和视图

在 PostgreSQL 中查找数据库中的视图和表,可以使用以下几种方法:

查询所有表和视图(包括系统表)

-- 查询所有表和视图的基本信息
SELECT table_schema, table_name, table_type 
FROM information_schema.tables 
WHERE table_schema NOT IN ('information_schema', 'pg_catalog')
ORDER BY table_schema, table_type, table_name;

分别查询表和视图

-- 只查询普通表
SELECT table_schema, table_name 
FROM information_schema.tables 
WHERE table_type = 'BASE TABLE' AND table_schema NOT IN ('information_schema', 'pg_catalog')
ORDER BY table_schema, table_name;-- 只查询视图
SELECT table_schema, table_name 
FROM information_schema.tables 
WHERE table_type = 'VIEW' AND table_schema NOT IN ('information_schema', 'pg_catalog')
ORDER BY table_schema, table_name;

使用 PostgreSQL 系统目录查询

-- 查询所有用户表
SELECT schemaname, tablename, tableowner 
FROM pg_tables 
WHERE schemaname NOT IN ('information_schema', 'pg_catalog')
ORDER BY schemaname, tablename;-- 查询所有视图
SELECT schemaname, viewname, viewowner 
FROM pg_views 
WHERE schemaname NOT IN ('information_schema', 'pg_catalog')
ORDER BY schemaname, viewname;-- 查询所有表和视图(合并查询)
SELECT schemaname, tablename, tableowner, 'TABLE' as object_type
FROM pg_tables 
WHERE schemaname NOT IN ('information_schema', 'pg_catalog')
UNION ALL
SELECT schemaname, viewname as tablename, viewowner as tableowner, 'VIEW' as object_type
FROM pg_views 
WHERE schemaname NOT IN ('information_schema', 'pg_catalog')
ORDER BY schemaname, tablename;

查询特定模式的表和视图

-- 查询 public 模式下的所有表和视图
SELECT table_schema, table_name, table_type 
FROM information_schema.tables 
WHERE table_schema = 'public'
ORDER BY table_type, table_name;-- 查询特定模式(如:sales)下的表和视图
SELECT table_schema, table_name, table_type 
FROM information_schema.tables 
WHERE table_schema = 'sales'
ORDER BY table_type, table_name;

获取更详细的信息

-- 获取表和视图的详细信息
SELECT n.nspname as schema_name,c.relname as object_name,CASE c.relkind WHEN 'r' THEN 'TABLE'WHEN 'v' THEN 'VIEW'WHEN 'm' THEN 'MATERIALIZED_VIEW'ELSE 'OTHER'END as object_type,obj_description(c.oid) as description
FROM pg_catalog.pg_class c
LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace
WHERE c.relkind IN ('r', 'v', 'm')  -- r=表, v=视图, m=物化视图AND n.nspname NOT IN ('information_schema', 'pg_catalog')AND n.nspname !~ '^pg_toast'
ORDER BY n.nspname, c.relname;
http://www.dtcms.com/a/614676.html

相关文章:

  • 页面布局练习
  • Cortex-M3 02-地址映射
  • 大丰做网站哪家公司好大理州城乡建设局官方网站
  • 推荐做素菜的网站电商网站开发环境怎么写
  • 企业建设网站的功能是什么意思wordpress单用户案例
  • 曼朗策划网站建设新闻源
  • 网站美工怎么做网站注册时间查询
  • 网站开发 免代码网站三网合一
  • 网站的建设服务平台昆山网站制作
  • [特殊字符]pull-aliyun:一键拉取阿里云私有镜像并简化命名
  • 1.2 学习和使用汇编语言的目的
  • 电子商务网站建设需要的语言沐风wordpress
  • SpringMVC请求参数的绑定
  • C++03 标准详解:C++98的技术修订版
  • 网站做下载wordgoogle网站推广
  • 网站虚拟机可以自己做吗查询百度关键词排名
  • Java 实战:去重与排序(HashSet+TreeSet 应用)
  • 命令行核心概念:信号、标准流与作业控制 (对比 Unix, cmd.exe, PowerShell)
  • wordpress仿站难吗央视优购物官方网站
  • 网站设计设计目的漳州做网站含博大选
  • 阿里云网站301重定向怎么做买证书网站开发工程师
  • 北京网站搜索引擎优化江苏宿迁房产网
  • 丽水市莲都区建设局网站计算机网络服务
  • WordPress做的网站源代码共享ip服务器做网站
  • 中国建设企业银行官网站深州做网站公司
  • 桐乡建设局网站高校网站建设方案
  • 青岛三吉互联网站建设公司945新开传奇网站
  • 【Chrono库】Chrono 时间舍入模块解析(round.rs)
  • 网站建设微信文章企业建网站费用
  • 二十二、注意力机制与序列模型