华为云用户手册

  • 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_LARGEOBJECT_METADATA PG_LARGEOBJECT_METADATA系统表存储与大数据相关的元数据。实际的大对象数据存储在PG_LARGEOBJECT里。 表1 PG_LARGEOBJECT_METADATA字段 名称 类型 引用 描述 oid oid - 行标识符(隐含字段,必须明确选择)。 lomowner oid PG_AUTHID.oid 大对象的所有者。 lomacl aclitem[] - 访问权限。 父主题: 系统表
  • 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_OBJECT PG_OBJECT系统表存储限定类型对象(普通表,索引,序列,视图,存储过程和函数)的创建用户、创建时间和最后修改时间。 表1 PG_OBJECT字段 名称 类型 描述 object_oid oid 对象标识符 object_type "char" 对象类型: r 表示普通表 i 表示索引 s 表示序列 v 表示视图 P 表示存储过程和函数 S 表示包头 B 表示包体 creator oid 创建用户的标识符 ctime timestamp with time zone 对象的创建时间 mtime timestamp with time zone 对象的最后修改时间,修改行为包括ALTER操作和GRANT、REVOKE操作 createcsn bigint 对象创建时的CSN。 changecsn bigint 对表或索引执行DDL操作时的CSN。 valid boolean 对象的有效性,t为有效,f为无效。 无法记录初始化数据库(initdb)过程中所创建或修改的对象,即PG_OBJECT无法查询到该对象记录。 对于升级至该版本的数据库,无法记录升级以前所创建的对象,即PG_OBJECT无法查询到该对象记录。 对于上述两类对象再次修改时,会记录其修改时间(mtime),由于无法得知该对象创建时间,因此ctime为空。 对于升级前创建的对象,再次修改时会记录其修改时间(mtime),对表或索引执行DDL操作时会记录其所属事务的事务提交序列号(changecsn)。由于无法得知该对象创建时间,因此ctime和createcsn为空。 ctime和mtime所记录的时间为用户当次操作所属事务的起始时间。 由扩容引起的对象修改时间也会被记录。 createcsn和changecsn记录的是用户当次操作所属事务的事务提交序列号。 对象创建语句时存在未定义的对象,或所依赖的对象有修改或删除动作时,对象会为无效状态。 父主题: 系统表
  • PG_JOB PG_JOB系统表存储用户创建的定时任务的任务详细信息,定时任务线程定时轮询pg_job系统表中的时间,当任务到期会触发任务的执行,并更新pg_job表中的任务状态。该系统表属于Shared Relation,所有创建的job记录对所有数据库可见。普通用户需授权后才能访问。 表1 PG_JOB字段 名称 类型 描述 oid oid 行标识符(隐含字段,必须明确选择)。 job_id bigint 作业ID,主键,是唯一的(有唯一索引) current_postgres_pid bigint 如果当前任务已被执行,那么此处记录运行此任务的线程ID。默认为 -1,表示此任务未被执行过。 log_user name 创建者的UserName priv_user name 作业执行者的UserName dbname name 标识作业要在哪个数据库执行的数据库名称 node_name name 标识当前作业是在哪个CN上创建和执行 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_NAMESPACE PG_NAMESPACE系统表存储名称空间,即存储schema相关的信息。如果开启数据库对象隔离属性,用户只能查看自己有权限访问的schema信息。 表1 PG_NAMESPACE字段 名称 类型 描述 oid oid 行标识符(隐含字段,必须明确选择)。 nspname name 名称空间的名称。 nspowner oid 名称空间的所有者。 nsptimeline bigint 在DN上创建此命名空间时的时间线。此字段为内部使用,仅在DN上有效。 nspacl aclitem[] 访问权限。具体请参见GRANT和REVOKE。 in_redistribution "char" 是否处于重发布状态。 t(true):表示处于重发布状态。 f(false):表示没有处于重发布状态。 nspblockchain boolean 如果为真,则该模式为防篡改模式。 如果为假,则此模式为非防篡改模式。 nspcollation oid 名称空间的默认字符序(仅在sql_compatibility='MYSQL'时可能有值)。 父主题: 系统表
  • 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_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_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_INHERITS PG_INHERITS系统表记录关于表继承层次的信息。数据库里每个直接的子系表都有一条记录。间接的继承可以通过追溯记录链来判断。 表1 PG_INHERITS字段 名称 类型 引用 描述 inhrelid oid PG_CLASS.oid 子表的OID。 inhparent oid PG_CLASS.oid 父表的OID。 inhseqno integer - 如果一个子表存在多个直系父表(多重继承),这个数字表明此继承字段的排列顺序。计数从1开始。 父主题: 系统表
  • PG_JOB_PROC PG_JOB_PROC系统表对应PG_JOB表中每个任务的作业内容(包括:PL/SQL代码块、匿名块)。将存储过程信息独立出来,是因为这个字段是varchar(4000)的,如果放到PG_JOB中,被加载到共享内存的时候,会占用不必要的空间,所以在使用的时候再进行查询获取。普通用户需授权后才能访问。 表1 PG_JOB_PROC字段 名称 类型 描述 oid oid 行标识符(隐含字段,必须明确选择)。 job_id integer 外键,关联pg_job表中的job_id。 what text 作业内容,DBE_SCHEDULER定时任务中的程序内容。 job_name text DBE_SCHEDULER定时任务专用,定时任务或程序名称。 父主题: 系统表
  • PG_FOREIGN_SERVER PG_FOREIGN_SERVER系统表存储外部服务器定义。一个外部服务器描述了一个外部数据源,例如一个远程服务器。外部服务器通过外部数据封装器访问。 表1 PG_FOREIGN_SERVER字段 名称 类型 引用 描述 oid oid - 行标识符(隐含字段,必须明确选择)。 srvname name - 外部服务器名。 srvowner oid PG_AUTHID.oid 外部服务器的所有者。 srvfdw oid PG_FOREIGN_DATA_WRAPPER.oid 这个外部服务器的外部数据封装器的OID。 srvtype text - 服务器的类型(可选)。 srvversion text - 服务器的版本(可选)。 srvacl aclitem[] - 访问权限。 srvoptions text[] - 外部服务器指定选项,使用“keyword=value”格式的字符串。 父主题: 系统表
  • 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:表示非日志表。 t:表示临时表。 relkind "char" r:表示普通表。 i:表示索引。 S:表示序列。 v:表示视图。 c:表示复合类型。 t:表示TOAST表。 f:表示外表。 m:表示物化视图。 e:表示STREAM对象。 o:表示CONTVIEW对象。 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 是否有局部聚簇存储。 true:表示有。 false:表示没有。 relrowmovement boolean 针对分区表进行update操作时,是否允许行迁移。 true:表示允许行迁移。 false:表示不允许行迁移。 parttype "char" 表或者索引是否具有分区表的性质。 p:表示带有分区表性质。 n:表示没有分区表特性。 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)。 relbucket oid 当前表是否包含hash bucket分片。有效的OID指向pg_hashbucket表中记录的具体分片信息。NULL表示不包含hash bucket分片。 relbucketkey int2vector 表示hash分区列信息,NULL表示不包含。 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_FOREIGN_DATA_WRAPPER PG_FOREIGN_DATA_WRAPPER系统表存储外部数据封装器定义。一个外部数据封装器是在外部服务器上驻留外部数据的机制,是可以访问的。 表1 PG_FOREIGN_DATA_WRAPPER字段 名称 类型 引用 描述 oid oid - 行标识符(隐含字段,必须明确选择)。 fdwname name - 外部数据封装器名。 fdwowner oid PG_AUTHID.oid 外部数据封装器的所有者。 fdwhandler oid PG_PROC.oid 引用一个负责为外部数据封装器提供扩展例程的处理函数。如果没有提供处理函数则为零。 fdwvalidator oid PG_PROC.oid 引用一个验证器函数,这个验证器函数负责验证给予外部数据封装器的选项、外部服务器选项和使用外部数据封装器的用户映射的有效性。如果没有提供验证器函数则为零。 fdwacl aclitem[] - 访问权限。 fdwoptions text[] - 外部数据封装器指定选项,使用“keyword=value”格式的字符串。 父主题: 系统表
  • 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_EXTENSION PG_EXTENSION系统表存储关于所安装扩展的信息。GaussDB默认有19个扩展,即PLPGSQL、DIST_FDW、FILE_FDW、LOG_FDW、GC_FDW、DBLINK_FDW、PACKAGES、ROACH_API、STREAMING、TSDB、HSTORE、DIMSEARCH、GSREDISTRIBUTE、SECURITY_PLUGIN、GSSTAT_PLUGIN、PKG_DBE_RAW、PKG_DBE_OUTPUT、PKG_DBE_UTILITY和PKG_DBE_XML。当前特性是实验室特性,使用时请联系华为工程师提供技术支持。 由于规格变更,当前版本已经不再支持DIMSEARCH,请不要使用。 表1 PG_EXTENSION 名称 类型 描述 extname name 扩展名。 extowner oid 扩展的所有者。 extnamespace oid 扩展导出对象的名称空间。 extrelocatable boolean 标识此扩展是否可迁移到其他名称空间,true表示可以,false表示不可以。 extversion text 扩展的版本号。 extconfig oid[] 扩展的配置信息。 extcondition text[] 扩展配置信息的过滤条件。 父主题: 系统表
  • PG_FOREIGN_TABLE PG_FOREIGN_TABLE系统表存储外部表的辅助信息。 表1 PG_FOREIGN_TABLE字段 名称 类型 描述 ftrelid oid 外部表的ID。 ftserver oid 外部表的所在服务器。 ftwriteonly boolean 外部表是否可写,取值如下: t(true):表示可写。 f(false):表示不可写。 ftoptions text[] 外部表的可选项,具体参考CREATE FOREIGN TABLE语法说明。 父主题: 系统表
  • PG_EXTENSION_DATA_SOURCE PG_EXTENSION_DATA_SOURCE系统表存储外部数据源对象的信息。一个外部数据源对象(Data Source)包含了外部数据库的一些口令编码等信息,主要配合Extension Connector使用,默认仅系统管理员可访问此表。由于规格变更,当前版本已经不再支持本特性,请不要使用。 表1 PG_EXTENSION_DATA_SOURCE字段 名称 类型 引用 描述 oid oid - 行标识符(隐含字段,必须明确选择)。 srcname name - 外部数据源对象的名称。 srcowner oid PG_AUTHID.oid 外部数据源对象的所有者。 srctype text - 外部数据源对象的类型,缺省为空。 srcversion text - 外部数据源对象的版本,缺省为空。 srcacl aclitem[] - 访问权限。 srcoptions text[] - 外部数据源对象的指定选项,使用“keyword=value”格式的字符串。 父主题: 系统表
  • PG_DIRECTORY PG_DIRECTORY系统表用于保存用户添加的directory对象,可以通过CREATE DIRECTORY语句向该表中添加记录,当enable_access_server_directory=off时,只允许初始用户创建directory对象;当enable_access_server_directory=on时,具有SYSADMIN权限的用户和继承了内置角色gs_role_directory_create权限的用户可以创建directory对象。普通用户需要授权才能访问该表。 表1 PG_DIRECTORY字段 名称 类型 描述 oid oid 行标识符(隐含字段,必须明确选择)。 dirname name 目录对象的名称。 owner oid 目录对象的所有者。 dirpath text 目录路径。 diracl aclitem[] 访问权限。 父主题: 系统表
  • PG_ENUM PG_ENUM系统表包含显示每个枚举类型值和标签的记录。给定枚举类型的内部表示实际上是PG_ENUM里面相关行的OID。 表1 PG_ENUM字段 名称 类型 引用 描述 oid oid - 行标识符(隐含字段,必须明确选择)。 enumtypid oid PG_TYPE.oid 拥有这个枚举值的pg_type记录的OID。 enumsortorder real - 这个枚举值在它的枚举类型中的排序位置。 enumlabel name - 这个枚举值的文本标签。 PG_ENUM行的OID跟着一个特殊规则:偶数的OID保证用和它们的枚举类型一样的排序顺序排序。也就是,如果两个偶数OID属于相同的枚举类型,那么较小的OID必须有较小enumsortorder值。奇数OID需要毫无关系的排序顺序。这个规则允许枚举比较例程在许多常见情况下避开目录查找。创建和修改枚举类型的例程只要可能就尝试分配偶数OID给枚举值。 当创建了一个枚举类型时,它的成员赋予了排序顺序位置1到n。但是随后添加的成员可能会分配enumsortorder的负值或分数值。对这些值的唯一要求是它们要正确的排序和在每个枚举类型中唯一。 父主题: 系统表
  • PG_CONSTRAINT PG_CONSTRAINT系统表存储表上的检查约束、主键、唯一约束和外键约束。 表1 PG_CONSTRAINT字段 名称 类型 描述 oid oid 行标识符(隐含字段,必须明确选择)。 conname name 约束名称(不一定是唯一的)。 connamespace oid 包含这个约束的名称空间的OID。 contype "char" c = 检查约束 p = 主键约束 u = 唯一约束 t = 触发器约束 x = 互斥约束 f = 外键约束 s = 聚簇约束 i = 无效约束 condeferrable boolean 这个约束是否可以推迟。 true:表示可以。 false:表示不可以。 condeferred boolean 缺省时这个约束是否可以推迟。 true:表示可以。 false:表示不可以。 convalidated boolean 约束是否有效。目前,只有外键和CHECK约束可将其设置为FALSE。 true:表示有效。 false:表示无效。 conrelid oid 这个约束所在的表;如果不是表约束则为0。 contypid oid 这个约束所在的域;如果不是一个域约束则为0。 conindid oid 与约束关联的索引ID。 confrelid oid 如果是外键,则为参考的表;否则为0。 confupdtype "char" 外键更新动作代码。 a = 没动作 r = 限制 c = 级联 n =设置为null d =设置为缺省 confdeltype "char" 外键删除动作代码。 a = 没动作 r = 限制 c = 级联 n =设置为null d =设置为缺省 confmatchtype "char" 外键匹配类型。 f = 全部 p = 部分 u = 未指定(在f的基础上允许匹配NULL值) conislocal boolean 是否是为关系创建的本地约束。 true:表示是。 false:表示不是。 coninhcount integer 约束直接继承父表的数目。继承父表数非零时,不能删除或重命名该约束。 connoinherit boolean 是否可以被继承。 true:表示可以。 false:表示不可以。 consoft boolean 是否为信息约束(Informational Constraint)。 true:表示是。 false:表示不是。 conopt boolean 是否使用信息约束优化执行计划。 true:表示使用。 false:表示不使用。 conkey smallint[] 如果是表约束,则是约束控制的字段列表。 confkey smallint[] 如果是一个外键,是参考的字段的列表。 conpfeqop oid[] 如果是一个外键,是做PK=FK比较的相等操作符ID的列表。 conppeqop oid[] 如果是一个外键,是做PK=PK比较的相等操作符ID的列表。 conffeqop oid[] 如果是一个外键,是做FK=FK比较的相等操作符ID的列表。 conexclop oid[] 如果是一个排他约束,是列的排他操作符ID列表。 conbin pg_node_tree 如果是检查约束,那就是其表达式的内部形式。 consrc text 如果是检查约束,则是表达式的人类可读形式。 conincluding smallint[] 不用做约束,但是会包含在INDEX中的属性列。 consrc在被引用的对象改变之后不会被更新,它不会跟踪字段的名称修改。建议使用pg_get_constraintdef()来抽取一个检查约束的定义。 pg_class.relchecks需要和在该表上为给定关系找到的检查约束的数目一致。 父主题: 系统表
  • PG_DEPEND PG_DEPEND系统表记录数据库对象之间的依赖关系。这个信息允许DROP命令找出哪些其它对象必须由DROP CASCADE删除,或者是在DROP RESTRICT的情况下避免删除。 这个表的功能类似PG_SHDEPEND,用于记录那些在数据库集群之间共享的对象之间的依赖性关系。 表1 PG_DEPEND字段 名称 类型 引用 描述 classid oid PG_CLASS.oid 有依赖对象所在系统表的OID。 objid oid 任意OID属性 指定的依赖对象的OID。 objsubid integer - 对于表字段,这个是该属性的字段数(objid和classid引用表本身)。对于所有其它对象类型,目前这个字段是零。 refclassid oid PG_CLASS.oid 被引用对象所在的系统表的OID。 refobjid oid 任意OID属性 指定的被引用对象的OID。 refobjsubid integer - 对于表字段,这个是该字段的字段号(refobjid和refclassid引用表本身)。对于所有其它对象类型,目前这个字段是零。 deptype "char" - 一个定义这个依赖关系特定语义的代码。 在所有情况下,一个PG_DEPEND记录表示被引用的对象不能在有依赖的对象被删除前删除。不过,这里还有几种由deptype定义的情况: DEPENDENCY_NORMAL (n):独立创建的对象之间的一般关系。有依赖的对象可以在不影响被引用对象的情况下删除。被引用对象只有在声明了CASCADE的情况下删除,这时有依赖的对象也被删除。例子:一个表字段对其数据类型有一般依赖关系。 DEPENDENCY_AUTO (a):有依赖对象可以和被引用对象分别删除,并且如果删除了被引用对象则应该被自动删除(不管是RESTRICT或CASCADE模式)。例子:一个表上面的命名约束是在该表上的自动依赖关系,因此如果删除了表,它也会被删除。 DEPENDENCY_INTERNAL (i):有依赖的对象是作为被引用对象的一部分创建的,实际上只是它的内部实现的一部分。 DROP有依赖对象是不能直接允许的(将告诉用户发出一条删除被引用对象的DROP)。一个对被引用对象的DROP将传播到有依赖对象,不管是否声明了CASCADE。例子:一个创建来强制外键约束的触发器在该约束的PG_CONSTRAINT记录上是标记为内部依赖的。 DEPENDENCY_EXTENSION (e):依赖对象是被依赖对象extension的一个成员(请参见PG_EXTENSION)。依赖对象只可以通过在被依赖对象上DROP EXTENSION删除。函数上这个依赖类型和内部依赖一样动作,但是它为了清晰和简化gs_dump保持分开。 DEPENDENCY_PIN (p):没有依赖对象;这种类型的记录标志着系统本身依赖于被引用对象,因此这个对象绝不能被删除。这种类型的记录只有在initdb的时候创建。有依赖对象的字段里是零。 父主题: 系统表
  • PG_DATABASE PG_DATABASE系统表存储关于可用数据库的信息。 表1 PG_DATABASE字段 名称 类型 描述 oid oid 行标识符(隐含字段,必须明确选择)。 datname name 数据库名称。 datdba oid 数据库所有人,通常为其创建者。 encoding integer 数据库的字符编码方式。 datcollate name 数据库使用的排序顺序。 datctype name 数据库使用的字符分类。 datistemplate boolean 是否允许作为模板数据库。 true:表示允许。 false:表示不允许。 datallowconn boolean 如果为真,表示用户可以连接到这个数据库。如果为假,则没有用户可以连接到这个数据库。这个字段用于保护template0数据库不被更改。 datconnlimit integer 该数据库上允许的最大并发连接数,-1表示无限制。 datlastsysoid oid 数据库里最后一个系统OID 。 datfrozenxid xid32 用于跟踪该数据库是否需要为了防止事务ID重叠而进行清理。当前版本该字段已经废弃使用,为保持前向兼容,保留此字段,新增datfrozenxid64用于记录此信息。 dattablespace oid 数据库的缺省表空间。 datcompatibility name 数据库兼容模式。当前支持四种兼容模式:PG、ORA、MYSQL、TD。 datacl aclitem[] 访问权限。 datfrozenxid64 xid 用于跟踪该数据库是否需要为了防止事务ID重叠而进行清理。 datminmxid xid 该数据库中所有在这个之前的多事务ID已经被一个事务ID替换。这用于跟踪该数据库是否需要为了防止事务ID重叠或者允许收缩pg_clog而进行清理。它是此数据库中所有表的pg_class.relminmxid中的最小值。 dattimezone name 数据库时区信息,默认为PRC时区。 父主题: 系统表
  • PG_DESCRIPTION PG_DESCRIPTION系统表可以给每个数据库对象存储一个可选的描述(注释)。许多内置的系统对象的描述提供了PG_DESCRIPTION的初始内容。 这个表的功能类似PG_SHDESCRIPTION,用于记录整个集群范围内共享对象的注释。 表1 PG_DESCRIPTION字段 名称 类型 引用 描述 objoid oid 任意OID属性 这条描述所描述的对象的OID。 classoid oid PG_CLASS.oid 这个对象出现的系统表的OID。 objsubid integer - 对于一个表字段的注释,它是字段号(objoid和classoid指向表自身)。对于其它对象类型,它是零。 description text - 对该对象描述的任意文本。 父主题: 系统表
  • PG_COLLATION PG_COLLATION系统表描述可用的排序规则,本质上从一个SQL名称映射到操作系统本地类别。 表1 PG_COLLATION字段 名称 类型 引用 描述 oid oid - 行标识符(隐含字段,必须明确选择)。 collname name - 排序规则名(每个名称空间和编码唯一)。 collnamespace oid PG_NAMESPACE.oid 包含这个排序规则的名称空间的OID。 collowner oid PG_AUTHID.oid 排序规则的所有者。 collencoding integer - 排序规则可用的编码,兼容PostgreSQL所有的字符编码类型,如果适用于任意编码为-1。 collcollate name - 这个排序规则对象的LC_COLLATE。 collctype name - 这个排序规则对象的LC_CTYPE。 collpadattr text - 这个排序规则的填充属性。 NULL:不适用。 NO PAD:无填充。 PAD SPACE:末尾空白填充。 collisdef bool - 这个排序规则是否是所属字符集的默认字符序。 父主题: 系统表
  • PG_DB_ROLE_SETTING PG_DB_ROLE_SETTING系统表存储数据库运行时每个角色与数据绑定的配置项的默认值 。 表1 PG_DB_ROLE_SETTING字段 名称 类型 描述 setdatabase oid 配置项所对应的数据库,如果未指定数据库,则为0。 setrole oid 配置项所对应的角色,如果未指定角色,则为0。 setconfig text[] 运行时配置项的默认值。配置请联系管理员处理。 父主题: 系统表
  • PG_AUTHID PG_AUTHID系统表存储有关数据库认证标识符(角色)的信息。角色把“用户”的概念包含在内。一个用户实际上就是一个rolcanlogin标志被设置的角色。任何角色(不管rolcanlogin设置与否)都能够把其他角色作为成员。 在一个集群中只有一份pg_authid,不是每个数据库有一份。需要有系统管理员权限才可以访问此系统表。 表1 PG_AUTHID字段 名称 类型 描述 oid oid 行标识符(隐含字段,必须明确选择)。 rolname name 角色名称。 rolsuper boolean 角色是否是拥有最高权限的初始系统管理员。 t(true):表示是。 f(false):表示不是。 rolinherit boolean 角色是否自动继承其所属角色的权限。 t(true):表示自动继承。 f(false):表示不自动继承。 rolcreaterole boolean 角色是否可以创建更多角色。 t(true):表示可以。 f(false):表示不可以。 rolcreatedb boolean 角色是否可以创建数据库。 t(true):表示可以。 f(false):表示不可以。 rolcatupdate boolean 角色是否可以直接更新系统表。只有usesysid=10的初始系统管理员拥有此权限。其他用户无法获得此权限。 t(true):表示可以。 f(false):表示不可以。 rolcanlogin boolean 角色是否可以登录,也就是说,这个角色可以给予会话认证标识符。 t(true):表示可以。 f(false):表示不可以。 rolreplication boolean 角色是否具有复制权限, t(true):表示有。 f(false):表示没有。 rolauditadmin boolean 角色是否具有审计管理员权限, t(true):表示有。 f(false):表示没有。 rolsystemadmin boolean 角色是否具有系统管理员权限, t(true):表示有。 f(false):表示没有。 rolconnlimit integer 对于可以登录的角色,限制其最大并发连接数量。 -1 表示没有限制。 rolpassword text 口令(可能是加密的),如果没有口令,则为NULL。 rolvalidbegin timestamp with time zone 账户的有效开始时间,如果没有开始时间,则为NULL。 rolvaliduntil timestamp with time zone 账户的有效结束时间,如果没有结束时间,则为NULL。 rolrespool name 用户所能够使用的resource pool。 roluseft boolean 角色是否可以操作外表。 t(true):表示可以。 f(false):表示不可以。 rolparentid oid 用户所在组用户的OID。 roltabspace text 用户数据表的最大空间限额。 rolkind "char" 特殊用户种类,包括私有用户、逻辑集群(当前特性是实验室特性,使用时请联系华为工程师提供技术支持)管理员、永久用户和普通用户。 rolnodegroup oid 用户所关联的Node Group OID,该Node Group必须是逻辑集群(当前特性是实验室特性,使用时请联系华为工程师提供技术支持)。 roltempspace text 用户临时表的最大空间限额,单位 KB。 rolspillspace text 用户执行作业时下盘数据的最大空间限额,单位 KB。 rolexcpdata text 用户可以设置的查询规则(当前未使用)。 rolmonitoradmin boolean 角色是否具有监控管理员权限, t(true):表示有。 f(false):表示没有。 roloperatoradmin boolean 角色是否具有运维管理员权限, t(true):表示有。 f(false):表示没有。 rolpolicyadmin boolean 角色是否具有安全策略管理员权限, t(true):表示有。 f(false):表示没有。 父主题: 系统表
共100000条