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

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.kler.cn/a/576090.html

相关文章:

  • 目录扫描工具深度对比:Dirb、Dirsearch、DirBuster、Feroxbuster 与 Gobuster
  • 权限系统基础知识笔记
  • 【基础2】选择排序
  • TypeError: JSON.stringify cannot serialize cyclic structures
  • 让知识触手可及!基于Neo4j的机械设备知识图谱问答系统
  • golang将大接口传递给小接口以及场景
  • TCP/IP协议与IP地址——浅解析
  • 网络编程之应用层协议(http)
  • OpenHarmony子系统开发 - AI框架开发指导
  • Vue的简单入门 四
  • 通过CycleGAN把不成对的可见光数据转换为红外数据
  • 深度学习驱动的智能化革命:技术演进与跨行业实践
  • Kotlin D2
  • 2025生物科技革命:AI驱动的基因编辑与合成生物学新纪元
  • GreatSQL5.7 与 8.0 对 DATE 非法值处理方式不同
  • B站高清视频爬取:Python爬虫技术详解
  • 家政预约小程序用例图分析
  • Linux之网络管理配置(Network Configuration Management in Linux)
  • 网络安全整改措施复函
  • 通义万相2.1:开启视频生成新时代