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

PostgreSQL常用系统表

1.概念

* 系统表记录了数据库的各种信息,并由SQL命令关联的系统操作表操作会自动维护其中的内容。

* pg_catalog是postgres的系统表命名空间,用于存储系统函数和系统元数据,包含了所有的内置数据类型、函数、表、系统视图等。pg_catalog并不实际存储数据,只提供系统级别的信息。

* OID:用来描述数据库逻辑对象,每创建一个对象都会分配一个OID。

2.常见系统

(1)pg_class   

   pg_class用于管理一个表的对象属性,当前数据库的所有表的固有属性都会存放在pg_class中,其中主要的字段如下:

   * oid:表对象在pg_class中的唯一标识,通常作为主键查找

   * relname:表的名字(关系)

   * reltype:对象类型

   * relfilenode:对象的物理文件名

   * relpersistence:对象的存储类型,'p'表示永久,'t'表示临时,'u'表示unlogged不写wal

   select oid, relname from pg_class where relname = 'pg_class';   

(2)pg_database      

   pg_database中记录着每一个数据库,全局共享。      

   * oid:数据库的oid

   * datname:数据库名字

(3)pg_type

   pg_type记录管理所有的类型定义,例如int、varchar等。

   * oid:类型oid

   * typname:类型名字

   * typlen:类型的长度,变长类型为-1,-2是以null终止的c字符串

   * typtype:类型的基础类型,b基本类型,c复合类型,d域类型,e枚举类型

(4)pg_attribute

   pg_attribute记录表对象的每一列属性的定义。

   * attrelid:该列属于哪一个关系对象

   * attname:该列的名词

   * atttypid:该列的类型

   * attlen:该类的长度

   * attnum:该列的index,是attrelid的第几列

    综上:pg_database查库,pg_class查表,pg_type查看列类型,pg_attribute查列属性。

相关文章:

  • Linux : 进程地址空间
  • RBAC 权限系统管理模型 学习笔记
  • 笔记四:C语言中的文件和文件操作
  • 168. Excel 表列名称
  • vue左侧边框点击后让字体高亮
  • QTS单元测试框架
  • 多线程-CompletableFuture
  • 深度解析:视频软编码与硬编码的优劣对比
  • 【TCP/IP协议栈】【网络层】子网划分、子网掩码
  • 《从信息论视角:DataWorks平台下人工智能探寻最优数据编码的深度剖析》
  • 常见限流算法
  • Shell编程概述与Shell变量
  • 建筑兔零基础自学python记录39|实战词云可视化项目——章节分布10(上)
  • 【Flink银行反欺诈系统设计方案】4.Flink CEP 规则表刷新方式
  • Redis相关面试题
  • Mybatis集合嵌套查询,三级嵌套
  • JAVA与计算机网络基础
  • 生物信息学与计算生物学:各自概念、主要内容、区别与联系、发展展望?
  • 微服务的春天:基于Spring Boot的架构设计与实践
  • 如何把GUI做的像Web一样美观:Python PyQt6特性介绍,如何结合QSS美化
  • 天算星座二期首批卫星成功发射,将助力6G空天信息基础设施建设
  • 出走的苏敏阿姨一路走到了戛纳,这块红毯因她而多元
  • 《歌手》回归,人均技术流,00后整顿职场
  • 关税互降后的外贸企业:之前暂停的订单加紧发货,后续订单考验沟通谈判能力
  • ESG考证虚火:相比证书,知识结构+实战经验更重要
  • 商务部新闻发言人就暂停17家美国实体不可靠实体清单措施答记者问