华为云用户手册

  • PG_TABLESPACE PG_TABLESPACE系统表存储表空间信息。 表1 PG_TABLESPACE字段 名称 类型 描述 oid oid 行标识符(隐含属性,必须明确选择)。 spcname name 表空间名称。 spcowner oid 表空间的所有者,通常是创建它的人。 spcacl aclitem[] 访问权限。具体请参见GRANT和REVOKE。 spcoptions text[] 表空间的选项。 spcmaxsize text 可使用的最大磁盘空间大小,单位Byte。 relative boolean 标识表空间指定的存储路径是否为相对路径。 父主题: 系统表
  • PG_SHDEPEND PG_SHDEPEND系统表记录数据库对象和共享对象(比如角色)之间的依赖性关系。这些信息允许GaussDB保证在企图删除这些对象之前,这些对象是没有被引用的。 PG_DEPEND的作用类似,只是它是用于在一个数据库内部的对象的依赖性关系的。 和其它大多数系统表不同,PG_SHDEPEND是在数据库里面所有的数据库之间共享的:每个数据库只有一个PG_SHDEPEND,而不是每个数据库一个。 表1 PG_SHDEPEND字段 名称 类型 引用 描述 dbid oid PG_DATABASE.oid 依赖对象所在的数据库的OID,如果是共享对象,则为零。 classid oid PG_CLASS.oid 依赖对象所在的系统表的OID。 objid oid 任意OID属性 指定的依赖对象的OID。 objsubid integer - 对于一个表字段,这是字段号(objid和classid参考表本身)。对于所有其他对象类型,这个字段为零。 refclassid oid PG_CLASS.oid 被引用对象所在的系统表的OID(必须是一个共享表)。 refobjid oid 任意OID属性 指定的被引用对象的OID。 deptype "char" - 一段代码,定义了这个依赖性关系的特定语义;参阅下文。 objfile text - 用户定义函数库文件路径。 在任何情况下,一条PG_SHDEPEND记录就表明这个被引用的对象不能在未删除依赖对象的前提下删除。不过,deptype同时还标出了几种不同的子风格: SHARED_DEPENDENCY_OWNER (o) 被引用的对象(必须是一个角色)是依赖对象的所有者。 SHARED_DEPENDENCY_ACL (a) 被引用的对象(必须是一个角色)在依赖对象的ACL(访问控制列表,也就是权限列表)里提到。SHARED_DEPENDENCY_ACL不会在对象的所有者头上添加的,因为所有者会有一个SHARED_DEPENDENCY_OWNER记录。 SHARED_DEPENDENCY_PIN (p) 没有依赖对象;这类记录标识系统自身依赖于该被依赖对象,因此这样的对象绝对不能被删除。这种类型的记录只是由initdb创建。这样的依赖对象的字段都是零。 SHARED_DEPENDENCY_ DBPRIV(d) 被引用的对象(必须是一个角色)具有依赖对象所对应的ANY权限(指定的依赖对象的OID对应的是系统表gs_db_privilege中一行)。 父主题: 系统表
  • PG_SUBSCRIPTION 系统表PG_SUBSCRIPTION包含所有现有的逻辑复制订阅。需要有系统管理员权限才可以访问此系统表。 和大部分系统表不同,PG_SUBSCRIPTION在数据库实例的所有数据库之间共享,即在每个节点上有只有一份PG_SUBSCRIPTION,而不是每个数据库一份。 表1 PG_SUBSCRIPTION字段 名称 类型 描述 oid oid 行标识符(隐含属性,必须明确选择)。 subdbid oid 订阅所在的数据库的OID。 subname name 订阅的名称。 subowner oid 订阅的拥有者。 subenabled boolean 如果为真,订阅被启用并且应该被复制。 subconninfo text 到发布端数据库的连接信息。 subslotname name 发布端数据库中复制槽的名称。空表示为NONE。 subsynccommit text 订阅worker的synchronous_commit设置的值。 subpublications text[] 被订阅的publication名称的数组。这些引用的是发布者服务器上的publication。 父主题: 系统表
  • PG_SYNONYM PG_SYNONYM系统表存储同义词对象名与其他数据库对象名间的映射信息。 表1 PG_SYNONYM字段 名称 类型 描述 oid oid 数据库对象id。 synname name 同义词名称。 synnamespace oid 包含该同义词的名字空间的OID。 synowner oid 同义词的所有者,通常是创建它的用户OID。 synobjschema name 关联对象指定的模式名。 synobjname name 关联对象名。 父主题: 系统表
  • PG_SHSECLABEL PG_SHSECLABEL系统表存储在共享数据库对象上的安全标签。安全标签可以用SECURITY LABEL命令操作。 查看安全标签的简单点的方法,请参阅PG_SECLABELS。 PG_SECLABEL的作用类似,只是它是用于在单个数据库内部的对象的安全标签的。 不同于大多数的系统表,PG_SHSECLABEL在GaussDB中的所有数据库中共享:每个GaussDB只有一个PG_SHSECLABEL,而不是每个数据库一个。 表1 PG_SHSECLABEL字段 名称 类型 引用 描述 objoid oid 任意OID属性 这个安全标签所属的对象的OID。 classoid oid PG_CLASS.oid 出现这个对象的系统目录的OID。 provider text - 与这个标签相关的标签提供程序。 label text - 应用于这个对象的安全标签。 父主题: 系统表
  • PG_SHDESCRIPTION PG_SHDESCRIPTION系统表为共享数据库对象存储可选的注释。可以使用COMMENT命令操作注释的内容,使用psql的\d命令查看注释内容。 PG_DESCRIPTION提供了类似的功能,它记录了单个数据库中对象的注释。 不同于大多数系统表,PG_SHDESCRIPTION是在数据库里面所有的数据库之间共享的:每个数据库只有一个PG_SHDESCRIPTION,而不是每个数据库一个。 表1 PG_SHDESCRIPTION字段 名称 类型 引用 描述 objoid oid 任意OID属性 这条描述所描述的对象的OID。 classoid oid PG_CLASS.oid 这个对象出现的系统表的OID。 description text - 作为对该对象的描述的任意文本。 父主题: 系统表
  • PG_SECLABEL PG_SECLABEL系统表存储数据对象上的安全标签。 PG_SHSECLABEL的作用类似,只是它是用于在一个数据库内共享的数据库对象的安全标签上的。 表1 PG_SECLABEL字段 名称 类型 引用 描述 objoid oid 任意OID属性 这个安全标签所属的对象的OID。 classoid oid PG_CLASS.oid 出现这个对象的系统目录的OID。 objsubid integer - 出现在这个对象中的列的序号。 provider text - 与这个标签相关的标签提供程序。 label text - 应用于这个对象的安全标签。 父主题: 系统表
  • PG_REWRITE PG_REWRITE系统表存储为表和视图定义的重写规则。 表1 PG_REWRITE字段 名称 类型 描述 oid oid 行标识符(隐含属性,必须明确选择)。 rulename name 规则名称。 ev_class oid 使用这条规则的表名称。 ev_attr smallint 这条规则适用的字段(目前总是为零,表示整个表)。 ev_type "char" 规则适用的事件类型: 1 = SELECT 2 = UPDATE 3 = INSERT 4 = DELETE ev_enabled "char" 用于控制复制的触发。 O =“origin”和“local”模式时触发。 D =禁用触发。 R =“replica”时触发。 A =任何模式是都会触发。 is_instead boolean 如果该规则是INSTEAD规则,则为真。 ev_qual pg_node_tree 规则的资格条件的表达式树(以nodeToString() 形式存在)。 ev_action pg_node_tree 规则动作的查询树(以nodeToString() 形式存在)。 父主题: 系统表
  • PG_RLSPOLICY PG_RLSPOLICY系统表存储行级访问控制策略。 表1 PG_RLSPOLICY字段 名称 类型 描述 oid oid 行标识符(隐含属性,必须明确选择)。 polname name 行级访问控制策略的名称。 polrelid oid 行级访问控制策略作用的表对象oid。 polcmd "char" 行级访问控制策略影响的SQL操作。 polpermissive boolean 行级访问控制策略的属性,t为表达式OR条件拼接,f为表达式AND条件拼接。 polroles oid[] 行级访问控制策略影响的用户oid列表,不指定表示影响所有的用户。 polqual pg_node_tree 行级访问控制策略的表达式。 父主题: 系统表
  • PG_PARTITION PG_PARTITION系统表存储数据库内所有分区表(partitioned table)、分区(table partition)、分区上toast表和分区索引(index partition)四类对象的信息。分区表索引(partitioned index)的信息不在PG_PARTITION系统表中保存。 表1 PG_PARTITION字段 名称 类型 描述 oid oid 行标识符(隐含属性,必须明确选择)。 relname name 分区表、分区、分区上toast表和分区索引的名称。 parttype "char" 对象类型: 'r':partitioned table 'p':table partition 's':table subpartition 'x':index partition 't':toast table parentid oid 当对象为分区表或分区时,此字段表示分区表在PG_CLASS中的OID。 当对象为index partition时,此字段表示所属分区表索引(partitioned index)的OID。 rangenum integer 保留字段。 intervalnum integer 保留字段。 partstrategy "char" 分区表分区策略,现在仅支持: 'r':范围分区。 'v':数值分区。 'i':间隔分区。 'l':list分区。 'h':hash分区。 'n':无效分区。 relfilenode oid table partition、index partition、分区上toast表的物理存储位置。 reltablespace oid table partition、index partition、分区上toast表所属表空间的OID。 relpages double precision 统计信息:table partition、index partition的数据页数量。 reltuples double precision 统计信息:table partition、index partition的元组数。 relallvisible integer 统计信息:table partition、index partition的可见数据页数。 reltoastrelid oid table partition所对应toast表的OID。 reltoastidxid oid table partition所对应toast表的索引的OID。 indextblid oid index partition对应table partition的OID。 indisusable boolean 分区索引是否可用。 reldeltarelid oid Delta表的OID。 reldeltaidx oid Delta表的索引表的OID。 relcudescrelid oid CU描述表的OID。 relcudescidx oid CU描述表的索引表的OID。 relfrozenxid xid32 冻结事务ID号。 为保持前向兼容,保留此字段,新增relfrozenxid64用于记录此信息。 intspnum integer 间隔分区所属表空间的个数。 partkey int2vector 分区键的列号。 intervaltablespace oidvector 间隔分区所属的表空间,间隔分区以round-robin方式落在这些表空间内。 interval text[] 间隔分区的间隔值。 boundaries text[] 范围分区和间隔分区的上边界。 transit text[] 间隔分区的跳转点。 reloptions text[] 设置partition的存储属性,与pg_class.reloptions的形态一样,用“keyword=value”格式的字符串来表示 ,目前用于在线扩容的信息搜集。 relfrozenxid64 xid 冻结事务ID号。 relminmxid xid 冻结多事务ID号。 父主题: 系统表
  • PG_RESOURCE_POOL PG_RESOURCE_POOL系统表提供了数据库资源池的信息。 表1 PG_RESOURCE_POOL字段 名称 类型 描述 oid oid 行标识符(隐含属性,必须明确选择)。 respool_name name 资源池名称。 mem_percent integer 内存配置的百分比。 cpu_affinity bigint CPU绑定core的数值。 control_group name 资源池所在的control group名称。 active_statements integer 资源池上最大的并发数。 max_dop integer 最大并发度。用作扩容的接口,表示数据重分布时,扫描并发度。 memory_limit name 资源池最大的内存。 parentid oid 父资源池OID。 io_limits integer 每秒触发IO的次数上限。行存单位是万次/s,列存是次/s。 io_priority name IO利用率高达90%时,重消耗IO作业进行IO资源管控时关联的优先级等级。 nodegroup name 表示资源池所在的逻辑数据库的名称。 is_foreign boolean 表示资源池是否用于逻辑数据库之外的用户。如果为true,表示资源池用来控制不属于当前资源池的普通用户的资源。 max_worker integer 只用于扩容的接口,表示扩容数据重分布时,表内插入并发度。 注:max_dop和max_worker用于扩容,不适用于集中式。 父主题: 系统表
  • PG_OPERATOR PG_OPERATOR系统表存储有关操作符的信息。 表1 PG_OPERATOR字段 名称 类型 引用 描述 oid oid - 行标识符(隐含属性,必须明确选择)。 oprname name - 操作符的名称。 oprnamespace oid PG_NAMESPACE.oid 包含此操作符的名称空间的OID。 oprowner oid PG_AUTHID.oid 操作符所有者。 oprkind "char" - b=infix =中缀(“两边”) l=前缀(“左边”) r=后缀(“右边”) oprcanmerge boolean - 这个操作符是否支持合并连接。 t(true):表示支持合并连接。 f(false):表示不支持合并连接。 oprcanhash boolean - 这个操作符是否支持Hash连接。 t(true):表示支持Hash连接。 f(false):表示不支持Hash连接。 oprleft oid PG_TYPE.oid 左操作数的类型。 oprright oid PG_TYPE.oid 右操作数的类型。 oprresult oid PG_TYPE.oid 结果类型。 oprcom oid PG_OPERATOR.oid 此操作符的交换符,如果存在的话。 oprnegate oid PG_OPERATOR.oid 此操作符的反转器,如果存在的话。 oprcode regproc PG_PROC.proname 实现这个操作符的函数。 oprrest regproc PG_PROC.proname 此操作符的约束选择性计算函数。 oprjoin regproc PG_PROC.proname 此操作符的连接选择性计算函数。 父主题: 系统表
  • PG_RANGE PG_RANGE系统表存储关于范围类型的信息。除了PG_TYPE里类型的记录。 表1 PG_RANGE字段 名称 类型 引用 描述 rngtypid oid PG_TYPE.oid 范围类型的OID。 rngsubtype oid PG_TYPE.oid 这个范围类型的元素类型(子类型)的OID。 rngcollation oid PG_COLLATION.oid 用于范围比较的排序规则的OID,如果没有则为零。 rngsubopc oid PG_OPCLASS.oid 用于范围比较的子类型的操作符类的OID。 rngcanonical regproc PG_PROC.proname 转换范围类型为规范格式的函数名,如果没有则为0。 rngsubdiff regproc PG_PROC.proname 返回两个double precision元素值的不同的函数名,如果没有则为0。 rngsubopc(如果元素类型是可排序的,则加上rngcollation)决定用于范围类型的排序顺序。当元素类型是离散的时使用rngcanonical。 父主题: 系统表
  • PG_REPLICATION_ORIGIN PG_REPLICATION_ORIGIN系统表包含所有已创建的复制源,该表为全局共享表,即在每个节点上有只有一份pg_replication_origin,而不是每个数据库一份。 表1 PG_REPLICATION_ORIGIN字段 名称 类型 描述 roident oid 一个数据库实例范围内唯一的复制源标识符。 roname text 外部的由用户定义的复制源名称。 父主题: 系统表
  • PG_PUBLICATION 系统表PG_PUBLICATION包含当前数据库中创建的所有publication。 表1 PG_PUBLICATION字段 名称 类型 描述 oid oid 行标识符(隐含属性,必须明确选择)。 pubname name publication的名称。 pubowner oid publication的拥有者。 puballtables boolean 如果为真,这个publication自动包括数据库中的所有表,包括未来将会创建的任何表。 pubinsert boolean 如果为真,为publication中的表复制INSERT操作。 pubupdate boolean 如果为真,为publication中的表复制UPDATE操作。 pubdelete boolean 如果为真,为publication中的表复制DELETE操作。 父主题: 系统表
  • PG_PLTEMPLATE PG_PLTEMPLATE系统表存储过程语言的“模板”信息。 表1 PG_PLTEMPLATE字段 名称 类型 描述 tmplname name 这个模板所应用的语言的名称。 tmpltrusted boolean 如果语言被认为是可信的,则为真。 tmpldbacreate boolean 如果语言是由数据库所有者创建的,则为真。 tmplhandler text 调用处理器函数的名称。 tmplinline text 匿名块处理器的名称,若没有则为NULL。 tmplvalidator text 校验函数的名称,如果没有则为NULL。 tmpllibrary text 实现语言的共享库的路径。 tmplacl aclitem[] 模板的访问权限(未使用)。 父主题: 系统表
  • PG_OPCLASS PG_OPCLASS系统表定义索引访问方法操作符类。 每个操作符类为一种特定数据类型和一种特定索引访问方法定义索引字段的语义。一个操作符类本质上指定一个特定的操作符族适用于一个特定的可索引的字段数据类型。索引的字段实际可用的族中的操作符集是接受字段的数据类型作为它们的左边的输入的那个。 表1 PG_OPCLASS字段 名称 类型 引用 描述 oid oid - 行标识符(隐含属性,必须明确选择)。 opcmethod oid PG_AM.oid 操作符类所服务的索引访问方法。 opcname name - 这个操作符类的名称。 opcnamespace oid PG_NAMESPACE.oid 这个操作符类的名称空间。 opcowner oid PG_AUTHID.oid 操作符类属主。 opcfamily oid PG_OPFAMILY.oid 包含该操作符类的操作符族。 opcintype oid PG_TYPE.oid 操作符类索引的数据类型。 opcdefault boolean - 如果操作符类是opcintype的缺省,则为真。 opckeytype oid PG_TYPE.oid 索引数据的类型,如果和opcintype相同则为零。 一个操作符类的opcmethod必须匹配包含它的操作符族的opfmethod。 父主题: 系统表
  • PG_OPFAMILY PG_OPFAMILY系统表定义操作符族。 每个操作符族是一个操作符和相关支持例程的集合,其中的例程实现为一个特定的索引访问方式指定的语义。另外,族中的操作符都是“兼容的”,通过由访问方式指定的方法。操作符族的概念允许交叉数据类型操作符和索引一起使用,并且合理的使用访问方式的语义的知识。 表1 PG_OPFAMILY字段 名称 类型 引用 描述 oid oid - 行标识符(隐含属性,必须明确选择)。 opfmethod oid PG_AM.oid 操作符族使用的索引方法。 opfname name - 这个操作符族的名称。 opfnamespace oid PG_NAMESPACE.oid 这个操作符的名称空间。 opfowner oid PG_AUTHID.oid 操作符族的所有者。 定义一个操作符族的大多数信息不在它的PG_OPFAMILY行里面,而是在相关的行PG_AMOP,PG_AMPROC和PG_OPCLASS里。 父主题: 系统表
  • PG_OBSSCANINFO PG_OBSSCANINFO系统表定义了在云上加速场景中,使用加速数据库实例时扫描OBS数据的运行时信息,每条记录对应一个query中单个OBS外表(由于规格变更,当前版本已经不再支持本特性,请不要使用)的运行时信息。 表1 PG_OBSSCANINFO字段 名称 类型 引用 描述 query_id bigint - 查询标识。 user_id text - 执行该查询的数据库用户。 table_name text - OBS外表的表名。 file_type text - 底层数据保存的文件格式。 time_stamp timestamp with time zone - 扫描操作开始的时间。 actual_time double precision - 扫描操作执行时间,单位为秒。 file_scanned bigint - 扫描的文件数量。 data_size double precision - 扫描的数据量,单位为字节。 billing_info text - 保留字段。 父主题: 系统表
  • PG_JOB PG_JOB系统表存储用户创建的定时任务的任务详细信息,定时任务线程定时轮询pg_job系统表中的时间,当任务到期会触发任务的执行,并更新pg_job表中的任务状态。该系统表属于Shared Relation,所有创建的job记录对所有数据库可见。 表1 PG_JOB字段 名称 类型 描述 oid oid 行标识符(隐含属性,必须明确选择)。 job_id bigint 作业ID,主键,是唯一的(有唯一索引) current_postgres_pid bigint 如果当前任务已被执行,那么此处记录运行此任务的gaussdb线程ID。默认为 -1,表示此任务未被执行过。 log_user name 创建者的UserName priv_user name 作业执行者的UserName dbname name 标识作业要在哪个数据库执行的数据库名称 node_name name 标识当前作业是在哪个数据库主节点上创建和执行 job_status "char" 当前任务的执行状态,取值范围:('r', 's', 'f', 'd'),默认为's',取值含义: Status of job step: r=running, s=successfully finished, f=job failed, d=disable 当job连续执行失败16次,会将job_status自动设置为失效状态'd',后续不再执行该job。 注:当用户将定时任务关闭(即:guc参数job_queue_processes为0时),由于监控job执行的线程不会启动,所以该状态不会根据job的实时状态进行设置,用户不需要关注此状态。只有当开启定时任务功能(即:guc参数job_queue_processes为非0时),系统才会根据当前job的实时状态刷新该字段值。 start_date timestamp without time zone 作业第一次开始执行时间,时间精确到毫秒。 next_run_date timestamp without time zone 下次定时执行任务的时间,时间精确到毫秒。 failure_count smallint 失败计数,作业连续执行失败16次,不再继续执行。 interval text 作业执行的重复时间间隔。 last_start_date timestamp without time zone 上次运行开始时间,时间精确到毫秒。 last_end_date timestamp without time zone 上次运行的结束时间,时间精确到毫秒。 last_suc_date timestamp without time zone 上次成功运行的开始时间,时间精确到毫秒。 this_run_date timestamp without time zone 正在运行任务的开始时间,时间精确到毫秒。 nspname name 标识作业执行时的schema的名称。 job_name text DBE_SCHEDULER定时任务专用,定时任务名称。 end_date timestamp without time zone DBE_SCHEDULER定时任务专用,定时任务失效时间,时间精确到毫秒。 enable boolean DBE_SCHEDULER定时任务专用,定时任务启用状态: true:启用 false:未启用 failure_msg text 最新一次执行任务报错信息。 父主题: 系统表
  • PG_OBJECT PG_OBJECT系统表存储限定类型对象(普通表,索引,序列,视图,存储过程和函数)的创建用户、创建时间和最后修改时间。 表1 PG_OBJECT字段 名称 类型 描述 object_oid oid 对象标识符。 object_type "char" 对象类型: r 表示普通表 i 表示索引 s 表示序列 v 表示视图 p 表示存储过程和函数 creator oid 创建用户的标识符。 ctime timestamp with time zone 对象的创建时间。 mtime timestamp with time zone 对象的最后修改时间,修改行为包括ALTER操作和GRANT、REVOKE操作。 createcsn bigint 对象创建时的CSN。 changecsn bigint 对表或索引执行DDL操作时的CSN。 无法记录初始化数据库(initdb)过程中所创建或修改的对象,即PG_OBJECT无法查询到该对象记录。 对于升级前创建的对象,再次修改时会记录其修改时间(mtime),对表或索引执行DDL操作时会记录其所属事务的事务提交序列号(changecsn)。由于无法得知该对象创建时间,因此ctime和createcsn为空。 ctime和mtime所记录的时间为用户当次操作所属事务的起始时间。 由扩容引起的对象修改时间也会被记录。 createcsn和changecsn记录的是用户当次操作所属事务的事务提交序列号。 enable_gtt_concurrent_truncate开启时,truncate全局临时表不会刷新mtime字段。 父主题: 系统表
  • PG_LARGEOBJECT_METADATA PG_LARGEOBJECT_METADATA系统表存储与大数据相关的元数据。实际的大对象数据存储在PG_LARGEOBJECT里。 表1 PG_LARGEOBJECT_METADATA字段 名称 类型 引用 描述 oid oid - 行标识符(隐含属性,必须明确选择)。 lomowner oid PG_AUTHID.oid 大对象的所有者。 lomacl aclitem[] - 访问权限。 父主题: 系统表
  • PG_NAMESPACE PG_NAMESPACE系统表存储名称空间,即存储schema相关的信息。 表1 PG_NAMESPACE字段 名称 类型 描述 oid oid 行标识符(隐含属性,必须明确选择)。 nspname name 名称空间的名称。 nspowner oid 名称空间的所有者。 nsptimeline bigint 在数据库节点上创建此命名空间时的时间线。此字段为内部使用,仅在数据库节点上有效。 nspacl aclitem[] 访问权限。 in_redistribution "char" 是否处于重发布状态。 nspblockchain boolean 如果为真,则该模式为防篡改模式。 如果为假,则此模式为非防篡改模式。 父主题: 系统表
  • PG_INDEX PG_INDEX系统表存储索引的一部分信息,其他的信息大多数在PG_CLASS中。 表1 PG_INDEX字段 名称 类型 描述 indexrelid oid 这个索引在pg_class里的记录的OID。 indrelid oid 使用这个索引的表在pg_class里的记录的OID。 indnatts smallint 索引中的字段数目。 indisunique boolean 如果为真,这是个唯一索引。 如果为假,这不是唯一索引。 indisprimary boolean 如果为真,该索引代表该表的主键。这个字段为真的时候indisunique总是为真。 如果为假,该索引不是该表的主键。 indisexclusion boolean 如果为真,该索引支持排他约束。 如果为假,该索引不支持排他约束。 indimmediate boolean 如果为真,在插入数据时会立即进行唯一性检查。 如果为假,在插入数据时不会进行唯一性检查。 indisclustered boolean 如果为真,则该表最后在这个索引上建了簇。 如果为假,则该表没有再这个索引上建簇 indisusable boolean 如果为真,该索引对insert/select可用。 如果为假,该索引对insert/select不可用。 indisvalid boolean 如果为真,则该索引可以用于查询。如果为假,则该索引可能不完整,仍然必须在INSERT/UPDATE操作时进行更新,不过不能安全的用于查询。如果是唯一索引,则唯一属性也将不为真。 indcheckxmin boolean 如果为true,查询不能使用索引,直到pg_index此行的xmin低于其快照的TransactionXmin,因为该表可能包含它们能看到的不兼容行断开的HOT链。 如果为false,查询可以用于索引。 indisready boolean 如果为真,表示此索引对插入数据是可用的,否则,在插入或修改数据时忽略此索引。 indkey int2vector 这是一个包含indnatts值的数组,这些数组值表示这个索引所建立的表字段。比如一个值为1 3的意思是第一个字段和第三个字段组成这个索引键字。这个数组里的零表明对应的索引属性是在这个表字段上的一个表达式,而不是一个简单的字段引用。 indcollation oidvector 索引用到的各列的ID。 indclass oidvector 对于索引键字里面的每个字段,这个字段都包含一个指向所使用的操作符类的OID,参阅pg_opclass获取细节。 indoption int2vector 存储列前标识位,该标识位是由索引的访问方法定义。 indexprs pg_node_tree 表达式树(以nodeToString()形式表现)用于那些非简单字段引用的索引属性。它是一个列表,个数与INDKEY中的零值个数相同。如果所有索引属性都是简单的引用,则为空。 indpred pg_node_tree 部分索引断言的表达式树(以nodeToString()的形式表现)。如果不是部分索引,则是空字符串。 indisreplident boolean 如果为真,则此索引的列成为逻辑解码的解码列。 如果为假,则此索引的列不是逻辑解码的解码列。 indnkeyatts smallint 索引中的总字段数,超出indnatts的部分不参与索引查询。 父主题: 系统表
  • PG_CLASS PG_CLASS系统表存储数据库对象信息及其之间的关系。 表1 PG_CLASS字段 名称 类型 描述 oid oid 行标识符(隐含属性,必须明确选择)。 relname name 表、索引、视图等对象的名称。 relnamespace oid 包含这个关系的名称空间的OID。 reltype oid 对应这个表的行类型的数据类型(索引为零,因为索引没有pg_type记录)。 reloftype oid 复合类型的OID,0表示其他类型。 relowner oid 关系所有者。 relam oid 如果行是索引,则就是所用的访问模式(B-tree,hash等)。 relfilenode oid 这个关系在磁盘上的文件的名称,如果没有则为0。 reltablespace oid 这个关系存储所在的表空间。如果为零,则意味着使用该数据库的缺省表空间。如果关系在磁盘上没有文件,则这个字段没有什么意义。 relpages double precision 以页(大小为BLCKSZ)为单位的此表在磁盘上的大小,它只是优化器用的一个近似值。 reltuples double precision 表中行的数目,只是优化器使用的一个估计值。 relallvisible integer 被标识为全可见的表中的页的数量。此字段是优化器用来做SQL执行优化使用的。VACUUM、ANALYZE和一些DDL语句(例如,CREATE INDEX)会引起此字段更新。 reltoastrelid oid 与此表关联的TOAST表的OID ,如果没有则为0。 TOAST表在一个从属表里“离线”存储大字段。 reltoastidxid oid 对于TOAST表是它的索引的OID,如果不是TOAST表则为0。 reldeltarelid oid Delta表的OID。 Delta表附属于列存表。用于存储数据导入过程中的甩尾数据。 reldeltaidx oid Delta表的索引表OID。 relcudescrelid oid CU描述表的OID。 CU描述表(Desc表)附属于列存表。用于控制表目录中存储数据的可见性。 relcudescidx oid CU描述表的索引表OID。 relhasindex boolean 如果它是一个表而且至少有(或者最近有过)一个索引,则为真。 它是由CREATE INDEX设置的,但DROP INDEX不会立即将它清除。如果VACUUM进程检测一个表没有索引,将会把它将清理relhasindex字段,将值设置为假。 relisshared boolean 如果该表在数据库中由所有数据库共享则为真。只有某些系统表(比如pg_database)是共享的。 relpersistence "char" p:表示永久表。 u:表示非日志表。 g:表示临时表。 relkind "char" r:表示普通表。 i:表示索引。 I:表示分区表GLOBAL索引。 S:表示序列。 L:表示长序列。 v:表示视图。 c:表示复合类型。 t:表示TOAST表。 f:表示外表。 m:表示物化视图。 relnatts smallint 关系中用户字段数目(除了系统字段以外)。在pg_attribute里肯定有相同数目对应行。 relchecks smallint 表里的检查约束的数目;参阅pg_constraint表。 relhasoids boolean 如果为关系中每行都生成一个OID则为真。 relhaspkey boolean 如果这个表有一个(或者曾经有一个)主键,则为真。 relhasrules boolean 如表有规则就为真。是否有规则可参考系统表PG_REWRITE。 relhastriggers boolean True表示表中有触发器,或者曾经有过触发器。系统表pg_trigger中记录了表和视图的触发器。 relhassubclass boolean 如果有(或者曾经有)任何继承的子表,为真。 relcmprs tinyint 表示是否启用表的启用压缩特性。需要特别注意,当且仅当批量插入才会触发压缩,普通的CRUD并不能够触发压缩。 0表示其他不支持压缩的表(主要是指系统表,不支持压缩属性的修改操作)。 1表示表数据的压缩特性为NOCOMPRESS或者无指定关键字。 2表示表数据的压缩特性为COMPRESS。 relhasclusterkey boolean 是否有局部聚簇存储。 relrowmovement boolean 针对分区表进行update操作时,是否允许行迁移。 true:表示允许行迁移。 false:表示不允许行迁移。 parttype "char" 表或者索引是否具有分区表的性质。 p:表示带有分区表性质。 n:表示没有分区表特性。 v:表示该表为HDFS的Value分区表。 s:表示该表为二级分区表。 relfrozenxid xid32 该表中所有在这个之前的事务ID已经被一个固定的("frozen")事务ID替换。该字段用于跟踪此表是否需要为了防止事务ID重叠(或者允许收缩pg_clog)而进行清理。如果该关系不是表则为零(InvalidTransactionId)。 为保持前向兼容,保留此字段,新增relfrozenxid64用于记录此信息。 relacl aclitem[] 访问权限。 查询的回显结果为以下形式: 1 rolename=xxxx/yyyy --赋予一个角色的权限 1 =xxxx/yyyy --赋予public的权限 xxxx表示赋予的权限,yyyy表示授予这个权限的角色。权限的参数说明请参见表2。 reloptions text[] 表或索引的访问方法,使用"keyword=value"格式的字符串。 relreplident "char" 逻辑解码中解码列的标识: d = 默认 (主键,如果存在)。 n = 无。 f = 所有列。 i = 索引的indisreplident被设置或者为默认。 relfrozenxid64 xid 该表中所有在这个之前的事务ID已经被一个固定的("frozen")事务ID替换。该字段用于跟踪此表是否需要为了防止事务ID重叠(或者允许收缩pg_clog)而进行清理。如果该关系不是表则为零(InvalidTransactionId)。 对于全局临时表,该字段无实际意义。各会话的全局临时表的relfrozenxid64可pg_catalog.pg_gtt_relstats视图中查看。 relbucket oid pg_hashbucket中的桶信息。 relbucketkey int2vector 哈希分区列号。 relminmxid xid 该表中所有在这个之前的多事务ID已经被一个事务ID替换。该字段用于跟踪该表是否需要为了防止多事务ID重叠或者允许收缩pg_clog而进行清理。如果该关系不是表则为零(InvalidTransactionId)。 表2 权限的参数说明 参数 参数说明 r SELECT(读) w UPDATE(写) a INSERT(插入) d DELETE D TRUNCATE x REFERENCES t TRIGGER X EXECUTE U USAGE C CREATE c CONNECT T TEMPORARY A ALTER P DROP m COMMENT i INDEX v VACUUM * 给前面权限的授权选项 父主题: 系统表
  • PG_LARGEOBJECT PG_LARGEOBJECT系统表保存那些标记着“大对象”的数据。一个大对象是使用其创建时分配的OID标识的。每个大对象都分解成足够小的小段或者“页面”以便以行的形式存储在PG_LARGEOBJECT里。每页的数据定义为LOBLKSIZE。 需要有系统管理员权限才可以访问此系统表。 表1 PG_LARGEOBJECT字段 名称 类型 引用 描述 loid oid PG_LARGEOBJECT_METADATA.oid 包含本页的大对象的标识符。 pageno integer - 本页在其大对象数据中的页码从零开始计算。 data bytea - 存储在大对象中的实际数据。这些数据绝不会超过LOBLKSIZE字节,而且可能更少。 PG_LARGEOBJECT的每一行保存一个大对象的一个页面,从该对象内部的字节偏移(pageno * LOBLKSIZE)开始。这种实现允许松散的存储:页面可以丢失,而且可以比LOBLKSIZE字节少(即使它们不是对象的最后一页)。大对象内丢失的部分读做零。 父主题: 系统表
  • PG_LANGUAGE PG_LANGUAGE系统表登记编程语言,用户可以用这些语言或接口写函数或者存储过程。 表1 PG_LANGUAGE字段 名称 类型 引用 描述 oid oid - 行标识符(隐含属性;必须明确选择)。 lanname name - 语言的名称。 lanowner oid PG_AUTHID.oid 语言的所有者。 lanispl boolean - 对于内部语言而言是假(比如SQL),对于用户定义的语言则是真。目前,gs_dump仍然使用该字段判断哪种语言需要转储,但是这些可能在将来被其它机制取代。 lanpltrusted boolean - 如果这是可信语言则为真,意味着系统相信它不会被授予任何正常SQL执行环境之外的权限。只有初始用户可以用不可信的语言创建函数。 lanplcallfoid oid PG_PROC.oid 对于非内部语言,这是指向该语言处理器的引用,语言处理器是一个特殊函数, 负责执行以某种语言写的所有函数。 laninline oid PG_PROC.oid 这个字段引用一个负责执行“inline”匿名代码块的函数(DO块)。如果不支持内联块则为零。 lanvalidator oid PG_PROC.oid 这个字段引用一个语言校验器函数,它负责检查新创建的函数的语法和有效性。如果没有提供校验器,则为零。 lanacl aclitem[] - 访问权限。 父主题: 系统表
  • PG_INHERITS PG_INHERITS系统表记录关于表继承层次的信息。数据库里每个直接的子系表都有一条记录。间接的继承可以通过追溯记录链来判断。 表1 PG_INHERITS字段 名称 类型 引用 描述 inhrelid oid PG_CLASS.oid 子表的OID。 inhparent oid PG_CLASS.oid 父表的OID。 inhseqno integer - 如果一个子表存在多个直系父表(多重继承),这个数字表明此继承字段的排列顺序。计数从1开始。 父主题: 系统表
  • PG_HASHBUCKET PG_HASHBUCKET系统表存储hash bucket信息。 表1 PG_HASHBUCKET字段 名称 类型 描述 oid oid 行标识符(隐含字段,必须明确选择)。 bucketid oid 对bucketvector计算的hash值,通过hash值可以加速对bucketvector的查找。 bucketcnt integer 包含分片的个数。 bucketmapsize integer 所有DN上包含的分片总数。 bucketref integer 预留字段,默认值为1。 bucketvector oidvector_extend 记录此行bucket信息包含的所有bucket的id,在此列上建立唯一索引,具有相同bucketid信息的表共享同一行pg_hashbucket数据。 父主题: 系统表
  • PG_JOB_PROC PG_JOB_PROC系统表对应PG_JOB表中每个任务的作业内容(包括:PL/SQL代码块、匿名块)。将存储过程信息独立出来,如果放到PG_JOB中,被加载到共享内存的时候,会占用不必要的空间,所以在使用的时候再进行查询获取。 表1 PG_JOB_PROC字段 名称 类型 描述 oid oid 行标识符(隐含属性,必须明确选择)。 job_id integer 外键,关联pg_job表中的job_id。 what text 作业内容,DBE_SCHEDULER定时任务中的程序内容。 job_name text DBE_SCHEDULER定时任务专用,定时任务或程序名称。 父主题: 系统表
共100000条