当前位置: 首页 > 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查列属性。

http://www.dtcms.com/a/54309.html

相关文章:

  • 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美化
  • C++中`const` 和 `static` 关键字详解
  • 34.二叉树进阶3(C++STL 关联式容器,set/map的介绍与使用)
  • 【mysql系】mysql启动异常Can‘t create test file localhost.lower-test
  • 【大模型基础_毛玉仁】1.4 语言模型的采样方法
  • Excel中COUNTIF用法解析
  • 【笔记】记一次easyExcel中注解ExcelProperty映射字段赋值无效问题
  • dify 工作流 迭代
  • ArcGIS操作:15 计算点的经纬度,并添加到属性表
  • NDT 代价函数
  • 音视频入门基础:RTP专题(15)——FFmpeg源码中,获取RTP的视频信息的实现