比如pg_attribute表中的字段,是以att开头,比如attrelid、attname; 有个特殊点的,pg_class,是以rel(即relation)开头,比如relnamespace、relname。 这种设计的好处是让所有的元数据字段能平面化,和内核一一对应,不存在一个属性名同时存在于多个地方。 五、总结 得益于postgresql这种严谨的设计,让所有内核开发者能遵循...
(二)从pg_class和pg_attribute根据指定的表名查询字段信息 SELECTC.relname, A.attnameASNAME, A.attnotnullASNOTNULL, format_type ( A.atttypid, A.atttypmod )ASTYPE, col_description ( A.attrelid, A.attnum )ASCOMMENTFROMpg_classASC, pg_attributeASAWHEREC.relname='table_name'ANDA.attrelid=C...
pg_class会以oid 为主键建索引,方便查找NameDatarelname;// relation 名字Oidrelnamespace;// 所处的 pg_namespace oid,用来和 pg_namespace系统表建立关联Oidreltype;// 对象类型,用于和pg_type系统表建立关联...Oidrelam;// am 类型,比如是heap or 其他的,也是和 pg_amthod...
元数据是关于数据库中其他数据的数据,包括表的定义、索引、视图、用户等信息。PG的系统目录包括pg_class、pg_attribute、pg_index等表,它们分别存储了表、列、索引的定义和属性。通过查询这些系统表,我们可以获取数据库的结构信息。 III、查询处理器 查询处理器是PG中负责处理SQL查询的部分。当用户提交一个SQL查询时...
pg_attribute 记录了数据库关于表的字段的信息。 其中比较重要的字段有: attrelid 此列/字段所属的表,对应于pg_class.oid attname 字段名字 atttypid 这个字段的数据类型,对应于pg_type.oid attlen 对于定长类型,typlen是该类型内部表现形式的字节数目。 对于变长类型,typlen 是负数。 -1 表示一种"变长"类...
pg_attribute 字段 名字类型引用描述 attrelid oid pg_class.oid 此列/字段所属的表 attname name 字段名字 atttypid oid pg_type.oid 这个字段的数据类型 attstattarget int4 attstattarget 控制ANALYZE 为这个字段积累的统计细节的级别。 零值表示不收集统计信息。负数表示使用系统缺省的统计对象。 正数值的确切...
pg_attribute表存储关于表的字段的信息。数据库里每个表的每个字段都在 pg_attribute里有一行。还有用于索引,以及所有在 pg_class里有记录的对象。 术语属性等效于列/字段,使用它是历史原因。 表47-7. pg_attribute 字段 名字类型引用描述 attrelid oid pg_class.oid 此字段所属的表 attname name 字段名字 att...
pg_class (系统表:对象)是一个对象表,表的每个字段都是‘rel’开头,分明就是 ‘relation’这个单词的缩写,意思就是‘关系’。表中relkind字段决定对象类型:r = 普通表,i = 索引,S = 序列,v = 视图, c = 复合类型,s = 特殊,t = TOAST表。对象所属的relnamespace(模式名称)和relowner(所有者)都是...
PG_CLASS系统表存储数据库对象信息及其之间的关系。 oid oid 行标识符(隐藏属性,必须明确选择才会显示)。 relname name 表、索引、视图等对象的名称。 relnamespace oid 包含该关系的命名空间的OID。 reltype oid 对应该表的行类型的数据类型(索引为零,因为索引没有pg_type记录)。
pg_class表记载表和几乎所有有字段或者是那些类似表的东西。包括索引(不过还要参阅pg_index)、序列、视图、物化视图、复合类型和一些特殊关系类型;参阅relkind。在下面,当指所有这些对象的时候说"关系"(relations)。不是所有字段对所有关系类型都有意义。