华为云用户手册

  • PG_REDACTION_POLICY PG_REDACTION_POLICY系统表提供了脱敏对象的信息。 表1 PG_REDACTION_POLICY字段 名称 类型 描述 object_oid oid 脱敏对象OID。 policy_name name 脱敏策略名称。 enable boolean 策略状态(开启、关闭)。 说明: enable的取值: true表示开启 false表示关闭 expression pg_node_tree 策略生效表达式(针对用户)。 policy_description text 策略描述信息。 inherited bool 说明脱敏策略是否“继承”自其他脱敏策略。 policy_order float4 脱敏策略次序。该字段8.2.1.100及以上集群版本支持。 父主题: 系统表
  • PG_REDACTION_COLUMN PG_REDACTION_COLUMN系统表存储脱敏列的信息。 表1 PG_REDACTION_COLUMN字段 名称 类型 描述 object_oid oid 脱敏对象OID。 column_attrno smallint 脱敏列attrno。 function_type integer 脱敏类型。 说明: 保留字段,仅为向前兼容低版本的脱敏列信息,可取值为0(NONE)、1(FULL)。 function_parameters text 脱敏类型为partial类型时的参数。(保留字段,无实际意义) regexp_pattern text 脱敏类型为regexp时,格式化字符串。(保留字段,无实际意义) regexp_replace_string text 脱敏类型为regexp时,替换串。(保留字段,无实际意义) regexp_position integer 脱敏类型为regexp时,起始替换位置。(保留字段,无实际意义) regexp_occurrence integer 脱敏类型为regexp时,替换次数。(保留字段,无实际意义) regexp_match_parameter text 脱敏类型为regexp时,正则控制参数。(保留字段,无实际意义) column_description text 脱敏列描述信息。 function_expr pg_node_tree 脱敏函数的内部表现形式。 inherited bool 说明脱敏列是否是“继承”自其他脱敏列。 policy_oid oid 所属脱敏策略OID。 该字段8.2.1.100及以上集群版本支持,用于查询时直接从系统表元数据检索脱敏列信息。 父主题: 系统表
  • 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,如果没有则为0。 rngsubopc oid PG_OPCLASS.oid 用于范围比较的子类型的操作符类的OID。 rngcanonical regproc PG_PROC.oid 转换范围类型为规范格式的函数的OID,如果没有则为0。 rngsubdiff regproc PG_PROC.oid 返回两个double precision元素值的不同的函数的OID,如果没有则为0。 rngsubopc(如果元素类型是可排序的,则加上rngcollation)决定用于范围类型的排序顺序。当元素类型是时使用rngcanonical用于离散类型的元素类型。 父主题: 系统表
  • 应用示例 查询指定函数的OID。例如,获取函数justify_days的OID为1295。 1 2 3 4 5 SELECT oid FROM pg_proc where proname ='justify_days'; oid ------ 1295 (1 row) 查询指定函数是否为聚集函数。例如,查询justify_days函数为非聚集函数。 1 2 3 4 5 SELECT proisagg FROM pg_proc where proname ='justify_days'; proisagg ---------- f (1 row)
  • 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[] 模板的访问权限(未使用)。 父主题: 系统表
  • 应用示例 查询分区表web_returns_p2的分区信息。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 CREATE TABLE web_returns_p2 ( wr_returned_date_sk integer, wr_returned_time_sk integer, wr_item_sk integer NOT NULL, wr_refunded_customer_sk integer ) WITH (orientation = column) DISTRIBUTE BY HASH (wr_item_sk) PARTITION BY RANGE(wr_returned_date_sk) ( PARTITION p2016 START(20161231) END(20191231) EVERY(10000), PARTITION p0 END(maxvalue) ); SELECT oid FROM pg_class WHERE relname ='web_returns_p2'; oid ------- 97628 SELECT relname,parttype,parentid,boundaries FROM pg_partition WHERE parentid = '97628'; relname | parttype | parentid | boundaries ----------------+----------+----------+------------ web_returns_p2 | r | 97628 | p2016_0 | p | 97628 | {20161231} p2016_1 | p | 97628 | {20171231} p2016_2 | p | 97628 | {20181231} p2016_3 | p | 97628 | {20191231} p0 | p | 97628 | {NULL} (6 rows)
  • 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_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 - 该操作符是否支持合并连接。 oprcanhash boolean - 该操作符是否支持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.oid 实现该操作符的函数。 oprrest regproc PG_PROC.oid 此操作符的约束选择性计算函数。 oprjoin regproc PG_PROC.oid 此操作符的连接选择性计算函数。 父主题: 系统表
  • 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相同则为0。 一个操作符类的opcmethod必须匹配包含它的操作符族的opfmethod。同样,对于任意给定的opcmethod和opcintype的组合,不能有超过一个PG_OPCLASS行有opcdefault为真。 父主题: 系统表
  • 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 time_stam - 扫描操作开始的时间。 actual_time double - 扫描操作执行时间,单位为秒。 file_scanned bigint - 扫描的文件数量。 data_size double - 扫描的数据量,单位为字节。 billing_info text - 保留字段。 父主题: 系统表
  • PG_OBJECT PG_OBJECT系统表存储限定类型对象(object_type中存在的类型)的创建用户、创建时间、最后修改时间和最后analyze时间。 表1 PG_OBJECT字段 名称 类型 描述 object_oid oid 对象标识符。 object_type "char" 对象类型: r表示表,包括普通表和临时表 i表示索引 s表示序列 v表示视图 p表示存储过程和函数 f表示外表 creator oid 创建用户的标识符。 ctime timestamp with time zone 对象创建时间。 mtime timestamp with time zone 对象最后修改时间,默认记录修改行为包括ALTER操作、COMMENT、GRANT/REVOKE和TRUNCATE操作。 object_mtime_record_mode参数可以细粒度控制ALTER、COMMENT、GRANT/REVOKE和TRUNCATE操作是否被记录。 last_analyze_time timestamp with time zone 对象进行最后一次analyze的时间。 仅针对用户正常操作行为进行记录,无法记录对象升级以前和initdb过程中的行为。 ctime和mtime的时间记录为本次操作的事务起始时间。 由扩容引起的对象修改时间也会被记录。 父主题: 系统表
  • PG_LARGEOBJECT_METADATA PG_LARGEOBJECT_METADATA系统表存储与大数据相关的元数据。实际的大对象数据存储在PG_LARGEOBJECT里。 表1 PG_LARGEOBJECT_METADATA字段 名字 类型 引用 描述 oid oid - 行标识符(隐藏属性,必须明确选择才会显示)。 lomowner oid PG_AUTHID.oid 大对象的所有者。 lomacl aclitem[] - 访问权限。 父主题: 系统表
  • PG_LARGEOBJECT PG_LARGEOBJECT系统表保存那些标记着“大对象”的数据。一个大对象是使用其创建时分配的OID标识的。每个大对象都分解成足够小的小段或者“页面”以便以行的形式存储在PG_LARGEOBJECT里。每页的数据定义为LOBLKSIZE。 需要有系统管理员权限才可以访问此系统表。 表1 PG_LARGEOBJECT字段 名字 类型 引用 描述 loid oid PG_LARGEOBJECT_METADATA.oid 包含本页的大对象的标识符。 pageno integer - 本页在其大对象数据中的页码,从0开始计算。 data bytea - 实际存储在大对象中的数据。这些数据不会超过LOBLKSIZE字节,且可能更小。 PG_LARGEOBJECT的每一行保存一个大对象的一个页面,从该对象内部的字节偏移(pageno * LOBLKSIZE)开始。这种实现允许稀疏存储:页面可能丢失,并且可以比LOBLKSIZE字节少(即使它们不是对象的最后一页)。大对象中丢失的区域会被读为0。 父主题: 系统表
  • 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块)。如果不支持内联块则为0。 lanvalidator oid PG_PROC.oid 此字段引用一个语言校验器函数,它负责检查新创建函数的语法和有效性。如果没有提供校验器,则为0。 lanacl aclitem[] - 访问权限。 父主题: 系统表
  • PG_JOBS PG_JOBS系统表存储用户创建的定时任务的任务详细信息,定时任务线程定时轮询pg_jobs系统表中的时间,当任务到期会触发任务的执行。该系统表属于Shared Relation,所有创建的job记录对所有数据库可见。 表1 PG_JOBS字段 名字 类型 描述 job_id integer 作业ID,主键,是唯一的(有唯一索引)。 what text 作业内容。 log_user oid 创建者的UserID。 priv_user oid 作业执行者的UserID。 job_db oid 标识作业执行的数据库OID。 job_nsp oid 标识作业运行时所在的命名空间OID。 job_node oid 标识当前作业是在哪个CN上创建和执行。 is_broken boolean 标识当前作业是否为失效状态。 start_date timestamp without time zone 作业第一次开始执行时间,时间精确到毫秒。 next_run_date timestamp without time zone 下次定时执行任务的时间,时间精确到毫秒。 failure_count smallint 连续失败计数。 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 正在运行任务的开始时间,时间精确到毫秒。 父主题: 系统表
  • PG_INHERITS PG_INHERITS系统表记录关于表继承层次的信息。数据库里每个直接的子系表都有一条记录。间接的继承可以通过追溯记录链来判断。 表1 PG_INHERITS字段 名字 类型 引用 描述 inhrelid oid PG_CLASS.oid 子表的OID。 inhparent oid PG_CLASS.oid 父表的OID。 inhseqno integer - 如果一个子表存在多个直系父表(多重继承),这个数字表示此继承字段的排列顺序。计数从1开始。 父主题: 系统表
  • 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可用。 indisvalid boolean 如果为真,则此索引可以用于查询。如果为假,则该索引可能不完整,仍然必须在INSERT/UPDATE操作时进行更新,但不能安全的被用于查询。如果是唯一索引,则唯一属性也不为真。 indcheckxmin boolean 如果为真,查询不能使用此索引,直到pg_index此行的xmin低于其快照的TransactionXmin,因为该表可能包含它们可见的不兼容行断开的HOT链。 indisready boolean 如果为真,表示此索引对插入数据可用。如果为假,在插入或修改数据时忽略此索引。 indkey int2vector 这是一个包含indnatts值的数组,这些数组值表示此索引所建立的表字段。比如一个值为1 3的意思是第一个字段和第三个字段组成这个索引键。数组中的0表示对应的索引属性是一个表字段上的表达式,而不是一个简单的字段引用。 indcollation oidvector 索引用到的各列的ID。 indclass oidvector 对于索引键中的每个字段,该字段都包含要使用的操作符类的OID,详见PG_OPCLASS。 indoption int2vector 存储列前标识位,该标识位是由索引的访问方法定义。 indexprs pg_node_tree 表达式树(以nodeToString()形式表现)用于那些非简单字段引用的索引属性。它是一个列表,个数与INDKEY中的零值个数相同。如果所有索引属性都是简单的引用,则为空。 indpred pg_node_tree 部分索引谓词的表达式树(以nodeToString()的形式表现)。如果不是部分索引,则为空。 indnullstreatment tinyint 表示唯一索引中NULL值的处理方式,该字段只有当indisunique为真时才起作用。 取值范围: 0 表示NULLS DISTINCT,NULL互不相等,NULL值可重复插入。 1 表示NULLS NOT DISTINCT,NULL严格相等,NULL值不可重复插入。 2 表示NULLS IGNORE,在等值比较时忽略NULL值列。若索引列全为NULL,则NULL值可重复插入;若部分索引列为NULL,只有非NULL列不相等,才可插入。 默认值:0 说明: 若当前集群为低版本升级到8.2.0.100版本,对于之前已存在索引,该字段值均为NULL;对于新创建的索引,则根据[ NULLS [NOT] DISTINCT | NULLS IGNORE ]字段的指定情况确定该字段值,默认值为0。 若当前集群为新装的8.2.0.100版本,对于新创建的索引,则根据[ NULLS [NOT] DISTINCT | NULLS IGNORE ]字段的指定情况确定该字段值,默认值为0。 父主题: 系统表
  • 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_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 引用一个负责为外部数据封装器提供扩展例程的处理函数。如果没有提供处理函数则为0。 fdwvalidator oid PG_PROC.oid 引用一个验证器函数,这个验证器函数负责验证给予外部数据封装器的选项、外部服务器选项和使用外部数据封装器的用户映射的有效性。如果没有提供验证器函数则为0。 fdwacl aclitem[] - 访问权限。 fdwoptions text[] - 外部数据封装器指定选项,使用“keyword=value”格式的字符串。 父主题: 系统表
  • 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_EXTENSION PG_EXTENSION系统表存储关于所安装扩展的信息。 GaussDB (DWS)默认有三十四个扩展,即aio_scheduler、btree_gin、cudesckv、dimsearch、dist_fdw、functional_clog、functional_extension、functional_file、functional_hudi、functional_job、functional_largeobject、functional_memory、functional_other、functional_signal、functional_vacuum、gc_fdw、hdfs_fdw、hstore、log_fdw、operational_backup、operational_cgroup、operational_cudesc、operational_other、operational_replication、operational_restoration、operational_stats、operational_xlog、packages、pgcrypto、pldbgapi、plpgsql、roach_api、tsdb和uuid-ossp。 表1 PG_EXTENSION 名称 类型 描述 extname name 扩展名。 extowner oid 扩展的所有者。 extnamespace oid 扩展导出对象的命名空间。 extrelocatable boolean 如果扩展能够重定位到其他schema,则为true。 extversion text 扩展的版本号。 extconfig oid[] 扩展的配置信息。 extcondition text[] 扩展配置信息的过滤条件。 父主题: 系统表
  • 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_DESCRIPTION PG_DESCRIPTION系统表可以给每个数据库对象存储一个可选的描述(注释)。许多内置的系统对象的描述提供了PG_DESCRIPTION的初始内容。 这个表的功能类似PG_SHDESCRIPTION,用于记录整个集群范围内共享对象的注释。 表1 PG_DESCRIPTION字段 名称 类型 引用 描述 objoid oid 任意OID属性 描述所属对象的OID。 classoid oid PG_CLASS.oid 对象显示的系统表的OID。 objsubid integer - 对于一个表字段的注释,为字段号(objoid和classoid指向表自身)。对于其它对象类型,为0。 description text - 对该对象描述的任意文本。 父主题: 系统表
  • 应用示例 查询名为serial1的数据库对象sequence和哪个表有依赖关系。 先通过系统表PG_CLASS查询序列名为serial1的oid。 1 2 3 4 5 SELECT oid FROM pg_class WHERE relname ='serial1'; oid ------- 17815 (1 row) 使用系统表PG_DEPEND根据所查询的序列serial1的oid获取依赖该序列的对象。 1 2 3 4 5 6 SELECT * FROM pg_depend WHERE objid ='17815'; classid | objid | objsubid | refclassid | refobjid | refobjsubid | deptype ---------+-------+----------+------------+----------+-------------+--------- 1259 | 17815 | 0 | 2615 | 2200 | 0 | n 1259 | 17815 | 0 | 1259 | 17812 | 1 | a (2 rows) 根据字段refobjid获取依赖该序列serial1的表的OID,并查询到表名。其结果表示,序列serial1依赖于表customer_address。 1 2 3 4 5 SELECT relname FROM pg_class where oid='17812'; relname ------------------ customer_address (1 row)
  • 应用示例 查看新建用户role1的初始权限: 1 2 3 4 select * from PG_DEFAULT_ACL; defaclrole | defaclnamespace | defaclobjtype | defaclacl ------------+-----------------+---------------+----------------- 16820 | 16822 | r | {role1=r/user1} 也可使用如下语句进行转换后更直观的查看: 1 SELECT pg_catalog.pg_get_userbyid(d.defaclrole) AS "Granter", n.nspname AS "Schema", CASE d.defaclobjtype WHEN 'r' THEN 'table' WHEN 'S' THEN 'sequence' WHEN 'f' THEN 'function' WHEN 'T' THEN 'type' END AS "Type", pg_catalog.array_to_string(d.defaclacl, E', ') AS "Access privileges" FROM pg_catalog.pg_default_acl d LEFT JOIN pg_catalog.pg_namespace n ON n.oid = d.defaclnamespace ORDER BY 1, 2, 3; 输出结果如下,表示通过用户user1授予用户role1对模式“user1”有读的权限。 1 2 3 4 Granter | Schema | Type | Access privileges ---------+--------+-------+------------------- user1 | user1 | table | role1=r/user1 (1 row)
  • PG_DB_ROLE_SETTING PG_DB_ROLE_SETTING系统表存储数据库运行时每个角色与数据绑定的配置项的默认值 。 表1 PG_DB_ROLE_SETTING字段 名称 类型 描述 setdatabase oid 配置项所对应的数据库,如果未指定数据库,则为0。 setrole oid 配置项所对应的角色,如果未指定角色,则为0。 setconfig text[] 运行时配置项的默认值。 父主题: 系统表
  • PG_DATABASE PG_DATABASE系统表存储关于可用数据库的信息。 表1 PG_DATABASE字段 名称 类型 描述 datname name 数据库名称。 datdba oid 数据库所有者,通常为其创建者。 encoding integer 数据库的字符编码方式。 pg_encoding_to_char()可以将此编号转换为编码名称。 datcollate name 数据库使用的排序顺序。 datctype name 数据库使用的字符分类。 datistemplate boolean 是否允许作为模板数据库。 datallowconn boolean 如果为假,则没有用户可以连接到这个数据库。这个字段用于保护template0数据库不被更改。 datconnlimit integer 该数据库上允许的最大并发连接数,-1表示无限制。 datlastsysoid oid 数据库里最后一个系统OID 。 datfrozenxid xid32 用于跟踪该数据库是否需要为了防止事务ID重叠而进行清理。 为保持前向兼容,保留此字段,新增datfrozenxid64用于记录此信息。 dattablespace oid 数据库的缺省表空间。 datcompatibility name 数据库兼容模式。 ORA,表示兼容Oracle数据库。 TD,表示兼容Teradata数据库。 MySQL,表示兼容MySQL数据库。 datacl aclitem[] 访问权限。 datfrozenxid64 xid 用于跟踪该数据库是否需要为了防止事务ID重叠而进行清理。 父主题: 系统表
  • PG_CONVERSION PG_CONVERSION系统表描述编码转换信息。 表1 PG_CONVERSION字段 名称 类型 引用 描述 oid oid - 行标识符(隐藏属性,必须明确选择才会显示)。 conname name - 转换名(在一个命名空间里唯一)。 connamespace oid PG_NAMESPACE.oid 包含此转换的命名空间的OID。 conowner oid PG_AUTHID.oid 编码转换的属主。 conforencoding integer - 源编码ID。 contoencoding integer - 目的编码ID。 conproc regproc PG_PROC.oid 转换过程。 condefault boolean - 如果为缺省转换则为真。 父主题: 系统表
  • 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 - 排序规则可用的编码,如果适用于任意编码为-1。 collcollate name - 排序规则对象的LC_COLLATE。 collctype name - 排序规则对象的LC_CTYPE。 父主题: 系统表
  • PG_CAST PG_CAST系统表存储数据类型之间的转化关系。 表1 PG_CAST字段 名称 类型 描述 castsource oid 源数据类型的OID。 casttarget oid 目标数据类型的OID。 castfunc oid 转化函数的OID。0表示不需要转化函数。 castcontext "char" 源数据类型和目标数据类型间的转化方式: e表示只能进行显式转化(使用CAST或::语法)。 i表示只能进行隐式转化。 a表示类型间同时支持隐式和显式转化。 castmethod "char" 转化方法: f表示使用castfunc字段中指定的函数进行转化。 b表示类型间是二进制强制转化,不使用castfunc。 父主题: 系统表
共100000条