↑↓ 选择↵ 打开⌫ 切换范围完整搜索

PG.CENTER 连接 PostgreSQL 文档、百科与生态知识。由 Pigsty 维护。

Wiki / 系统目录

系统目录

版本覆盖矩阵

PostgreSQL 版本定义:18

英文手册覆盖始于 PostgreSQL 7.4. 来源历史与运行验证各自保留独立版本边界。

当前阅读 PG 18·选择有来源记录的版本

144 / 144 条已记录定义实心方块表示该版本有定义;选择方块可阅读对应版本。
  • pg_aggregatecatalog7.4 – 20

    目录pg_aggregate存储关于聚合函数的信息。聚合函数是对一组值(典型的是每个匹配查询条件的行中的同一个列的值)进行操作的函数,它返回从这些值中计算出的单个值。典型的聚合函数是 sum、count和max。pg_aggregate里的每个项都是一个pg_proc项的扩展。pg_proc项记载该聚合的名字、输入和输出数据类型,以及其他一些和普通函数类似的信息。

  • pg_aiosview18 – 20

    pg_aios 视图列出当前正在使用的全部异步 I/O句柄。I/O 句柄用于引用正在准备、执行或处于完成过程中的 I/O 操作。pg_aios 为每个 I/O 句柄提供一行。 该视图主要对 PostgreSQL 开发者有用,但在调优 PostgreSQL 时也可能有帮助。

    7.48.08.18.28.38.49.09.19.29.39.49.59.61011121314151617181920
  • pg_amcatalog7.4 – 20

    目录pg_am存储关于关系访问方法的信息。系统支持的每种访问方法在这个目录中都有一行。目前只有表和索引拥有访问方法。表和索引访问方法的需求分别在第 62 章和第 63 章中详细讨论。

  • pg_amopcatalog7.4 – 20

    目录pg_amop存储关于与访问方法操作符族相关的操作符信息。对于操作符族中的每个成员操作符,此目录中都有一行。一个成员可以是搜索操作符,也可以是排序操作符。一个操作符可以出现在多个族中,但在同一个族中既不能出现在多个搜索位置,也不能出现在多个排序位置(虽然不太可能,但允许一个操作符同时用于搜索和排序)。

  • pg_amproccatalog7.4 – 20

    目录pg_amproc存储与访问方法操作符族相关的支持函数的信息。属于一个操作符族的每一个支持函数在这个目录中都有一行。

  • pg_attrdefcatalog7.4 – 20

    目录pg_attrdef存储列默认表达式和生成表达式。列的主要信息存储在pg_attribute中。只有显式设置了默认表达式或生成表达式的列,才会在此目录中有条目。

  • pg_attributecatalog7.4 – 20

    目录pg_attribute存储关于表列的信息。数据库中每个表的每一列,在pg_attribute中都恰好有一行。(其中也包括索引的属性项,实际上,凡是在pg_class中有项的对象,都有对应的属性项。) 术语属性等同于列,这里使用它只是出于历史原因。

  • pg_auth_memberscatalog8.1 – 20

    目录pg_auth_members展示了角色之间的成员关系。允许任何无环的关系集合。 由于用户身份是集簇范围的,pg_auth_members在一个集簇的所有数据库之间共享:在一个集簇中只有一份pg_auth_members拷贝,而不是每个数据库一份。

  • pg_authidcatalog8.1 – 20

    目录pg_authid包含关于数据库授权标识符(角色)的信息。角色涵盖了“用户”和“组”这两个概念。用户本质上只是设置了rolcanlogin标志的角色。任何角色(无论是否设置了rolcanlogin)都可以拥有其他角色作为成员;参见pg_auth_members。 由于这个目录包含密码,不得允许对它进行公开读取。pg_roles是建立在pg_authid之上的公开可读视图,它会隐藏密码字段。 第 21 章包含关于用户和权限管理的详细信息。 由于用户身份是集簇范围的,pg_authid在一个集簇的所有数据库之间共享:在一个集簇中只有一份pg_authid拷贝,而不是每个数据库一份。

  • pg_available_extension_versions视图列出了可供安装的特定扩展版本。另请参阅pg_extension目录,其中显示当前已安装的扩展。

  • pg_available_extensions视图列出了可供安装的扩展。另请参阅pg_extension目录,其中显示当前已安装的扩展。

  • 视图pg_backend_memory_contexts显示附属于当前会话的服务器进程中的全部内存上下文。 pg_backend_memory_contexts 为每个内存上下文提供一行。

    7.48.08.18.28.38.49.09.19.29.39.49.59.61011121314151617181920
  • pg_castcatalog7.4 – 20

    目录pg_cast存储数据类型转换路径,包括内置路径和用户定义路径。 需要注意的是,pg_cast并不表示系统知道如何执行的所有类型转换,它只包括那些不能从某些通用规则推导出的转换。例如,一个域及其基础类型之间的转换并未显式地在pg_cast中展示。另一个重要的例外是“自动的基于 I/O 的类型转换”,它们通过数据类型自己的 I/O 函数来转换成(或者转换自)text或其他字符串类型,这些转换也没有显式地在pg_cast中表示。

  • pg_classcatalog7.4 – 20

    目录pg_class描述了表以及其他具有列或在其他方面与表类似的对象。这包括索引(但请参见pg_index)、序列(但请参见pg_sequence)、视图、物化视图、复合类型和TOAST表;请参见relkind。在下面,当我们指的是所有这些类型的对象时,我们称之为“关系(relations)”。并非所有pg_class的列对所有关系类型都有意义。

  • pg_collationcatalog9.1 – 20

    目录pg_collation描述可用的排序规则,其本质上是从 SQL 名字到操作系统区域设置类别的映射。更多信息参见第 23.2 节。

  • pg_configview9.6 – 20

    视图pg_config描述了当前安装版本的PostgreSQL的编译时配置参数。例如,它可供希望与PostgreSQL交互的软件包使用,以便找到所需的头文件和库。它提供与PostgreSQL客户端应用程序pg_config相同的基本信息。 默认情况下,pg_config视图只能被超级用户读取。

    7.48.08.18.28.38.49.09.19.29.39.49.59.61011121314151617181920
  • pg_constraintcatalog7.4 – 20

    目录pg_constraint存储表上的检查约束、非空约束、主键约束、唯一约束、外键约束和排他约束。(列约束不会被特殊对待。每一个列约束都等价于某种表约束。) 用户定义的约束触发器(使用CREATE CONSTRAINT TRIGGER创建)也会在这个表中产生一项。 域上的检查约束也存储在这里。

  • pg_conversioncatalog7.4 – 20

    目录pg_conversion描述编码转换函数。更多信息参见CREATE CONVERSION。

  • pg_cursorsview8.2 – 20

    pg_cursors视图列出当前可用的游标。游标可以通过多种方式定义: pg_cursors视图显示通过任何这些方式创建的游标。游标仅在定义它们的事务的持续时间内存在,除非它们已经声明为WITH HOLD。因此,不可保持的游标仅在其创建事务结束之前存在于视图中。

  • pg_databasecatalog7.4 – 20

    目录pg_database存储有关可用数据库的信息。数据库通过CREATE DATABASE命令创建。关于其中一些参数的含义的详细信息请查阅第 22 章。 和大部分系统目录不同,pg_database是在集簇的所有数据库之间共享的:在一个集簇中只有一份pg_database拷贝,而不是每个数据库一份。

  • pg_db_role_settingcatalog9.0 – 20

    目录 pg_db_role_setting为每个角色与数据库组合记录运行时配置变量的默认值。 和大部分系统目录不同,pg_db_role_setting是在集簇的所有数据库之间共享的:在一个集簇中只有一份pg_db_role_setting拷贝,而不是每个数据库一份。

  • pg_default_aclcatalog9.0 – 20

    目录pg_default_acl存储要被分配给新创建对象的初始权限。

  • pg_dependcatalog7.4 – 20

    目录pg_depend记录数据库对象之间的依赖关系。这些信息允许DROP命令查找必须被DROP CASCADE删除的其他对象,或者在DROP RESTRICT情况下阻止删除。 另请参阅pg_shdepend,它对涉及数据库集簇共享对象的依赖提供了相似的功能。

  • pg_descriptioncatalog7.4 – 20

    目录pg_description存储对每一个数据库对象可选的描述(注释)。描述可以通过COMMENT操作,并可使用psql的\d命令查看。在pg_description的初始内容中提供了很多内置系统对象的描述。 参见pg_shdescription,它对在一个数据库集簇中共享的对象的描述提供了相似的功能。

  • pg_enumcatalog8.3 – 20

    pg_enum目录包含每一个枚举类型的项,其中包括了值和标签。一个给定枚举值的内部表示实际上是它在pg_enum中的相关行的OID。

  • pg_event_triggercatalog9.3 – 20

    目录pg_event_trigger存储事件触发器。更多信息参见第 38 章。

    7.48.08.18.28.38.49.09.19.29.39.49.59.61011121314151617181920
  • pg_extensioncatalog9.1 – 20

    目录pg_extension存储有关已安装扩展的信息。有关扩展的细节请参见第 36.17 节。

  • pg_file_settingsview9.5 – 20

    视图pg_file_settings提供了服务器配置文件的内容摘要。每个“name = value”条目在文件中出现时,此视图中会出现一行,并附有标注,指示该值是否能够成功应用。还可能出现额外的行,用于表示与“name = value”条目无关的问题,例如文件中的语法错误。 这个视图对于检查计划中的配置文件变更是否有效,或者诊断之前的故障很有帮助。请注意,这个视图报告的是文件的当前内容,而不是服务器上最后应用的内容。(通常可以通过pg_settings 视图确定最后一次由服务器应用的内容。) 默认情况下,pg_file_settings视图只能被超级用户读取。

    7.48.08.18.28.38.49.09.19.29.39.49.59.61011121314151617181920
  • pg_foreign_data_wrappercatalog8.4 – 20

    目录pg_foreign_data_wrapper存储外部数据包装器定义。外部数据包装器是一种访问位于外部服务器上数据的机制。

  • pg_foreign_servercatalog8.4 – 20

    目录pg_foreign_server存储外部服务器定义。外部服务器定义了外部数据的来源,例如一个远程服务器。外部服务器通过外部数据包装器来访问。

  • pg_foreign_tablecatalog9.1 – 20

    目录pg_foreign_table包含关于外部表的辅助信息。一个外部表和普通表一样,主要由一个pg_class项表示。它的pg_foreign_table项包含外部表所特有的信息。

  • pg_groupview7.4 – 20

    视图pg_group存在是为了向后兼容性:它模拟了在PostgreSQL版本8.1之前存在的目录。它显示了所有 rolcanlogin 为假的角色的名称和成员,这是对被用作组的角色集合的近似。

  • pg_hba_file_rulesview10 – 20

    视图pg_hba_file_rules提供客户端认证配置文件 pg_hba.conf 内容的摘要。文件中每个非空且非注释的行都会在该视图中显示一行,并带有注解,说明该规则是否能成功应用。 该视图有助于检查认证配置文件中的计划变更是否可行,或诊断先前的失败。请注意,该视图报告的是文件的当前内容,而不是服务器上次加载的内容。 默认情况下,pg_hba_file_rules 视图只能由超级用户读取。

    7.48.08.18.28.38.49.09.19.29.39.49.59.61011121314151617181920
  • 视图pg_ident_file_mappings提供客户端用户名映射配置文件 pg_ident.conf内容的摘要。文件中每个非空且非注释的行都会在该视图中显示一行,并带有注解,说明该映射是否能成功应用。 该视图有助于检查认证配置文件中的计划变更是否可行,或诊断先前的失败。请注意,该视图报告的是文件的当前内容,而不是服务器上次加载的内容。 默认情况下,pg_ident_file_mappings 视图只能由超级用户读取。

    7.48.08.18.28.38.49.09.19.29.39.49.59.61011121314151617181920
  • pg_indexcatalog7.4 – 20

    目录pg_index包含关于索引的部分信息。其他信息大部分在pg_class中。

  • pg_indexesview7.4 – 20

    视图pg_indexes提供了有关数据库中每个索引的有用信息。

  • pg_inheritscatalog7.4 – 20

    目录pg_inherits记录有关表和索引的继承层次的信息。数据库中每个表或索引的直接父子关系在这里都有一项(非直接继承可以通过顺着项构成的链来决定)。

  • pg_init_privscatalog9.6 – 20

    目录pg_init_privs记录系统中对象的初始权限。数据库中每个具有非默认(非 NULL)初始权限集合的对象都在其中有一个条目。 对象可以在系统初始化(initdb)时获得其初始权限,也可以在CREATE EXTENSION期间创建该对象,并在扩展脚本中用GRANT设置对象的初始权限。注意,系统会自动处理扩展脚本执行期间对权限的记录;扩展作者只需要在脚本中使用GRANT和REVOKE语句,权限就会被记录下来。privtype列表示初始权限是由initdb设置,还是在某次CREATE EXTENSION命令期间设置。 对于初始权限由initdb设置的对象,其条目中的privtype是'i';对于初始权限由CREATE EXTENSION设置的对象,其条目中的privtype为'e'。

    7.48.08.18.28.38.49.09.19.29.39.49.59.61011121314151617181920
  • pg_languagecatalog7.4 – 20

    目录pg_language注册了可用于编写函数或存储过程的语言。更多关于语言处理器的信息请参阅CREATE LANGUAGE和第 40 章。

  • pg_largeobjectcatalog7.4 – 20

    目录pg_largeobject保存构成“大对象”的数据。一个大对象在被创建时会被分配一个OID。每个大对象被分解成足够小的段或“页”,以便方便地作为行存储在pg_largeobject中。每页中的数据量被定义为LOBLKSIZE(目前是BLCKSZ/4,通常为 2 kB)。 在PostgreSQL 9.0 之前,大对象没有相关的权限结构。因此,pg_largeobject曾是公开可读的,并且可以用来获得系统中所有大对象的 OID(和内容)。但现在已经不是这样了;可使用pg_largeobject_metadata来获得大对象 OID 的列表。

  • pg_largeobject_metadatacatalog9.0 – 20

    目录pg_largeobject_metadata保持着与大对象有关的元数据。真正的大对象数据被存储在pg_largeobject中。

  • pg_locksview7.4 – 20

    视图pg_locks提供了对数据库服务器中活动进程持有的锁的信息的访问。有关锁定的更多讨论,请参见第 13 章。 pg_locks为每个活动的可锁定对象、请求的锁模式及相关进程的组合提供一行。因此,如果多个进程正在持有或等待锁定它,同一可锁定对象可能会出现多次。但是,当前没有任何锁定的对象将不会出现。 有几种不同类型的可锁定对象:整个关系(例如,表),关系的单个页面,关系的单个元组,事务ID(虚拟和永久ID均包括),以及一般的数据库对象(由类OID和对象OID标识,与pg_description或 pg_depend中的方式相同)。此外,扩展关系的权利被表示为单独的可锁定对象,更新 pg_database.datfrozenxid的权利也是如此。此外,还可以对具有用户定义含义的数字施加“咨询锁”。

  • pg_matviewsview9.3 – 20

    视图pg_matviews提供了对数据库中每个物化视图的有用信息的访问。

    7.48.08.18.28.38.49.09.19.29.39.49.59.61011121314151617181920
  • pg_namespacecatalog7.4 – 20

    目录pg_namespace存储名字空间。名字空间是SQL模式之下的结构:每个名字空间拥有一个独立的关系、类型等的集合,且其中没有名字冲突。

  • pg_opclasscatalog7.4 – 20

    目录pg_opclass定义索引访问方法的操作符类。每一个操作符类定义了一种特定数据类型和一种特定索引访问方法的索引列的语义。一个操作符类实际上指定了一个特定的操作符族可以用于一个特定可索引列数据类型。该族中可用于索引列的操作符能够接受该列的数据类型作为它们的左输入。 操作符类详见第 36.16 节。

  • pg_operatorcatalog7.4 – 20

    目录pg_operator存储关于操作符的信息。详见CREATE OPERATOR和第 36.14 节。

  • pg_opfamilycatalog8.3 – 20

    目录pg_opfamily定义了操作符族。每一个操作符族是操作符和相关支持例程的集合,这一集合用于实现一个特定索引访问方法的语义。此外,按照访问方法指定的某种方式,一个族内的操作符都是“兼容的”。操作符族概念允许在索引中使用跨数据类型操作符,并可依据访问方法的语义推理这些操作符的行为。 操作符族在第 36.16 节中有详细说明。

  • pg_parameter_aclcatalog15 – 20

    目录pg_parameter_acl记录已向一个或多个角色授予权限的配置参数。不会为具有默认权限的参数创建条目。 与大多数系统目录不同,pg_parameter_acl在集簇的所有数据库之间共享:每个集簇只有一个pg_parameter_acl副本,而不是每个数据库一个。

    7.48.08.18.28.38.49.09.19.29.39.49.59.61011121314151617181920
  • pg_partitioned_tablecatalog10 – 20

    目录pg_partitioned_table存放有关表如何被分区的信息。

    7.48.08.18.28.38.49.09.19.29.39.49.59.61011121314151617181920
  • pg_policiesview9.5 – 20

    视图pg_policies提供了有关数据库中每个行级安全策略的有用信息。

    7.48.08.18.28.38.49.09.19.29.39.49.59.61011121314151617181920
  • pg_policycatalog9.5 – 20

    目录pg_policy存储着表的行级安全策略。一个策略包括它适用的命令种类(可能适用于所有命令)、它适用的角色、被作为安全屏障条件增加到包括该表的查询的表达式以及被作为 WITH CHECK选项增加到尝试向表增加新记录的查询的表达式。

    7.48.08.18.28.38.49.09.19.29.39.49.59.61011121314151617181920
  • pg_prepared_statements 视图显示当前会话中所有可用的预备语句。关于预备语句的更多信息,参见PREPARE。 pg_prepared_statements 为每个预备语句包含一行。创建新的预备语句时,会向该视图添加一行;释放预备语句时(例如通过 DEALLOCATE 命令)则会移除该行。

  • pg_prepared_xactsview8.1 – 20

    视图pg_prepared_xacts显示当前已处于两阶段提交预备状态的事务的信息(详见PREPARE TRANSACTION)。 pg_prepared_xacts 为每个预备事务包含一行。事务提交或回滚时,对应条目会被移除。

  • pg_proccatalog7.4 – 20

    目录pg_proc存放有关函数、过程、聚合函数以及窗口函数(统称为例程)的信息。更多信息请参考CREATE FUNCTION、CREATE PROCEDURE和第 36.3 节。 如果prokind显示该条目用于一个聚合函数,在pg_aggregate中应该有一个相匹配的行。

  • pg_publicationcatalog10 – 20

    目录pg_publication包含数据库中创建的所有发布。关于发布的更多信息见第 29.1 节。

    7.48.08.18.28.38.49.09.19.29.39.49.59.61011121314151617181920
  • pg_publication_namespacecatalog15 – 20

    目录pg_publication_namespace包含数据库中模式与发布之间的映射。这是一个多对多映射。

    7.48.08.18.28.38.49.09.19.29.39.49.59.61011121314151617181920
  • pg_publication_relcatalog10 – 20

    目录pg_publication_rel包含数据库中关系与发布之间的映射。这是一种多对多映射。关于这些信息更方便用户查看的视图,参见第 53.18 节。

    7.48.08.18.28.38.49.09.19.29.39.49.59.61011121314151617181920
  • 视图pg_publication_tables提供发布与其所包含表之间映射关系的信息。与底层目录 pg_publication_rel不同,该视图会展开定义为 FOR ALL TABLES 和 FOR TABLES IN SCHEMA 的发布,因此对于这类发布,每个符合条件的表都会有一行。

    7.48.08.18.28.38.49.09.19.29.39.49.59.61011121314151617181920
  • pg_rangecatalog9.2 – 20

    目录pg_range存储关于范围类型的信息。它是类型在pg_type中的项的补充。

  • pg_replication_origincatalog9.5 – 20

    pg_replication_origin目录包含所有已创建的复制源。更多复制源的信息请见第 48 章。 和大部分系统目录不同,pg_replication_origin在一个集簇的所有数据库之间共享:每个集簇只有一份pg_replication_origin拷贝,而不是每个数据库一份。

    7.48.08.18.28.38.49.09.19.29.39.49.59.61011121314151617181920
  • pg_replication_origin_status视图包含关于某个源的重放进度信息。有关复制源的更多信息,请参见第 48 章。

    7.48.08.18.28.38.49.09.19.29.39.49.59.61011121314151617181920
  • pg_replication_slotsview9.4 – 20

    pg_replication_slots视图提供当前数据库集簇中所有复制槽及其当前状态的列表。 有关复制槽的更多信息,请参见第 26.2.6 节和第 47 章。

    7.48.08.18.28.38.49.09.19.29.39.49.59.61011121314151617181920
  • pg_rewritecatalog7.4 – 20

    目录pg_rewrite存储表和视图的重写规则。

  • pg_rolesview8.1 – 20

    视图pg_roles提供数据库角色的信息。它本质上是 pg_authid 的公开可读视图,并隐藏密码字段。

  • pg_rulesview7.4 – 20

    视图pg_rules提供了有关查询重写规则的有用信息。

  • pg_seclabelcatalog9.1 – 20

    目录pg_seclabel存储数据库对象上的安全标签。安全标签可以通过SECURITY LABEL命令操纵。查看安全标签的更简单方法请见第 53.23 节。 同时请见pg_shseclabel,它对集簇共享的数据库对象的安全标签执行相似的功能。

  • pg_seclabelsview9.1 – 20

    视图pg_seclabels提供有关安全标签的信息。它是 pg_seclabel目录的更易查询版本。

  • pg_sequencecatalog10 – 20

    目录pg_sequence包含有关序列的信息。一些序列的信息(例如名称和模式)放在pg_class中。

    7.48.08.18.28.38.49.09.19.29.39.49.59.61011121314151617181920
  • pg_sequencesview10 – 20

    视图pg_sequences提供对数据库中每个序列的有用信息的访问。

    7.48.08.18.28.38.49.09.19.29.39.49.59.61011121314151617181920
  • pg_settingsview7.4 – 20

    视图pg_settings提供对服务器运行时参数的访问。它实质上是SHOW和SET命令的替代接口。它还提供了一些关于每个参数的事实,这些事实无法直接从SHOW中获取,例如最小值和最大值。

  • pg_shadowview7.4 – 20

    视图pg_shadow存在是为了向后兼容性:它模拟了在PostgreSQL 8.1版本之前存在的目录。它显示了在pg_authid中rolcanlogin 为真的所有角色的属性。 这个名称源于该表不应向公众开放读取,因为它包含密码。pg_user 是 pg_shadow 的公开可读视图,并隐藏密码字段。

  • pg_shdependcatalog8.1 – 20

    目录pg_shdepend记录数据库对象与共享对象(例如角色)之间的依赖关系。这些信息使得PostgreSQL可以确保对象在尝试删除前未被其他对象引用。 另请参阅pg_depend,它对单个数据库中对象之间的依赖提供了相似的功能。 与大部分其他系统目录不同,pg_shdepend在整个集簇的所有数据库之间共享:在每一个集簇中只有一个pg_shdepend的拷贝,而不是每个数据库一份。

  • pg_shdescriptioncatalog8.2 – 20

    目录pg_shdescription存储共享数据库对象的可选描述(注释)。这些描述可以通过COMMENT命令设置或修改,并且可以使用psql的\d命令查看。 另请参阅pg_description,它对单个数据库内对象的描述提供了相似的功能。 与大部分其他系统目录不同,pg_shdescription在整个集簇的所有数据库之间共享:在每一个集簇中只有一个pg_shdescription的拷贝,而不是每个数据库一份。

  • pg_shmem_allocations视图显示从服务器的主共享内存段分配的内存。这包括PostgreSQL本身分配的内存,以及扩展使用第 36.10.11 节中详细描述的机制分配的内存。 请注意,此视图不包括使用动态共享内存基础设施分配的内存。

    7.48.08.18.28.38.49.09.19.29.39.49.59.61011121314151617181920
  • pg_shmem_allocations_numa 显示服务器主共享内存段中的共享内存分配如何分布在各个 NUMA 节点上。这既包括 PostgreSQL 自身分配的内存,也包括扩展使用第 36.10.11 节所述机制分配的内存。只要共享内存段分布在多个 NUMA 节点上,该视图就会为每个共享内存段输出多行。监控系统不应查询此视图,因为它非常慢,而且如果共享内存此前尚未使用,还可能最终触发共享内存分配。目前该视图的限制是不会显示匿名共享内存分配。 请注意,此视图不包括使用动态共享内存基础设施分配的内存。

    7.48.08.18.28.38.49.09.19.29.39.49.59.61011121314151617181920
  • pg_shseclabelcatalog9.2 – 20

    目录pg_shseclabel存储共享数据库对象上的安全标签。安全标签可以通过SECURITY LABEL命令操纵。查看安全标签的更简单方法请见第 53.23 节。 另请参阅pg_seclabel,它对单个数据库中对象的安全标签提供了相似的功能。 与大部分其他系统目录不同,pg_shseclabel在整个集簇的所有数据库之间共享:在每一个集簇中只有一个pg_shseclabel的拷贝,而不是每个数据库一份。

  • pg_stat_activitystatistics7.4 – 20

    pg_stat_activity视图每个服务器进程将有一行,显示与该进程当前活动相关的信息。

  • pg_stat_all_indexesstatistics7.4 – 20

    pg_stat_all_indexes视图将为当前数据库中的每个索引包含一行,该行显示关于对该索引访问的统计信息。pg_stat_user_indexes和pg_stat_sys_indexes视图包含相同的信息,但经过过滤,分别只显示用户和系统索引。

  • pg_stat_all_tablesstatistics7.4 – 20

    pg_stat_all_tables视图将为当前数据库中的每一个表(包括 TOAST 表)包含一行,该行显示与对该表的访问相关的统计信息。pg_stat_user_tables和pg_stat_sys_tables视图包含相同的信息,但经过过滤,分别只显示用户和系统表。

  • pg_stat_archiverstatistics9.4 – 20

    pg_stat_archiver视图总是有一行,其中包含关于集簇的归档进程的数据。

    7.48.08.18.28.38.49.09.19.29.39.49.59.61011121314151617181920
  • pg_stat_bgwriterstatistics8.3 – 20

    pg_stat_bgwriter 视图始终只有一行,包含有关集簇后台写入器的数据。

  • pg_stat_checkpointerstatistics17 – 20

    pg_stat_checkpointer 视图始终只有一行,包含有关集簇检查点进程的数据。

    7.48.08.18.28.38.49.09.19.29.39.49.59.61011121314151617181920
  • pg_stat_databasestatistics7.4 – 20

    pg_stat_database视图将包含一行用于集簇中的每个数据库,加一行用于共享对象,显示数据库范围的统计信息。

  • pg_stat_database_conflictsstatistics9.1 – 20

    pg_stat_database_conflicts视图为每个数据库包含一行,用来显示数据库范围内因与备库上的恢复过程冲突而被取消的查询统计信息。该视图只包含备库上的信息,因为这类冲突不会发生在主库上。

  • pg_stat_gssapistatistics12 – 20

    pg_stat_gssapi视图为每个后端包含一行,显示该连接上的GSSAPI使用情况。可以通过pid列将它与pg_stat_activity或pg_stat_replication连接,获取更多关于连接的详细信息。

    7.48.08.18.28.38.49.09.19.29.39.49.59.61011121314151617181920
  • pg_stat_iostatistics16 – 20

    pg_stat_io 视图对每种后端类型、目标 I/O 对象和 I/O 上下文的组合各提供一行,显示整个集簇范围内的 I/O 统计信息。没有意义的组合会被省略。 目前会跟踪关系(例如表、索引)的 I/O 以及 WAL 活动。不过,绕过共享缓冲区的关系 I/O(例如将表从一个表空间移动到另一个表空间时)目前不会被跟踪。

    7.48.08.18.28.38.49.09.19.29.39.49.59.61011121314151617181920
  • pg_stat_progress_analyzeprogress13 – 20

    每当ANALYZE运行时,pg_stat_progress_analyze视图将包含当前运行该命令的每个后端的一行。下面的表描述了将要报告的信息,并提供了关于如何解释它们的信息。

    7.48.08.18.28.38.49.09.19.29.39.49.59.61011121314151617181920
  • 每当像pg_basebackup这样的应用程序执行基础备份时,pg_stat_progress_basebackup视图将包含当前运行BASE_BACKUP复制命令和流式传输备份的每个WAL发送进程的一行。下面的表描述了将要报告的信息,并提供了关于如何解释它的信息。

    7.48.08.18.28.38.49.09.19.29.39.49.59.61011121314151617181920
  • pg_stat_progress_clusterprogress12 – 20

    每当CLUSTER或VACUUM FULL运行时,pg_stat_progress_cluster视图将为每个当前正在运行这两种命令之一的后端包含一行。下面的表格描述了将被报告的信息,并提供了关于如何解释这些信息的信息。

    7.48.08.18.28.38.49.09.19.29.39.49.59.61011121314151617181920
  • pg_stat_progress_copyprogress14 – 20

    当COPY正在运行时,pg_stat_progress_copy视图会为每个当前正在执行COPY命令的后端包含一行。下表描述了会报告哪些信息,以及应如何解释这些信息。

    7.48.08.18.28.38.49.09.19.29.39.49.59.61011121314151617181920
  • 每当运行CREATE INDEX或REINDEX时,pg_stat_progress_create_index视图将包含当前正在创建索引的每个后端的一行。下面的表描述了将要报告的信息,并提供了关于如何解释它的信息。

    7.48.08.18.28.38.49.09.19.29.39.49.59.61011121314151617181920
  • pg_stat_progress_vacuumprogress9.6 – 20

    只要VACUUM正在运行,pg_stat_progress_vacuum视图就会为每个当前正在清理的后端(包括自动清理工作进程)包含一行。下表描述了将报告的信息,并说明如何解释这些信息。VACUUM FULL命令的进度通过pg_stat_progress_cluster报告,因为VACUUM FULL和CLUSTER都会重写表,而常规的VACUUM只会原地修改表。参见第 27.4.2 节。

    7.48.08.18.28.38.49.09.19.29.39.49.59.61011121314151617181920
  • pg_stat_recovery_prefetchstatistics15 – 20

    pg_stat_recovery_prefetch视图将只包含一行。wal_distance、block_distance和 io_depth列显示当前值,其他列显示可以使用 pg_stat_reset_shared函数重置的累积计数器。

    7.48.08.18.28.38.49.09.19.29.39.49.59.61011121314151617181920
  • pg_stat_replicationstatistics9.1 – 20

    pg_stat_replication视图为每个 WAL 发送进程包含一行,显示有关复制到该发送进程所连接备库的统计信息。这里只列出直接连接的备库;不包含下游备库的信息。

  • pg_stat_replication_slotsstatistics14 – 20

    pg_stat_replication_slots视图将包含每个逻辑复制槽的一行,显示关于其使用情况的统计信息。

    7.48.08.18.28.38.49.09.19.29.39.49.59.61011121314151617181920
  • pg_stat_slrustatistics13 – 20

    PostgreSQL通过SLRU(simple least-recently-used,简单最近最少使用)缓存访问某些磁盘上的信息。pg_stat_slru视图将为每个被跟踪的SLRU缓存包含一行,显示关于访问缓存页面的统计信息。 对于核心服务器中的每个SLRU缓存,都有一个以_buffers为后缀的配置参数来控制其大小。

    7.48.08.18.28.38.49.09.19.29.39.49.59.61011121314151617181920
  • pg_stat_sslstatistics9.5 – 20

    pg_stat_ssl视图将为每一个后端或者 WAL 发送进程包含一行,用来显示这个连接上的 SSL 使用情况。可以把它与pg_stat_activity或者pg_stat_replication通过pid列连接来得到更多有关该连接的细节。

    7.48.08.18.28.38.49.09.19.29.39.49.59.61011121314151617181920
  • pg_stat_subscriptionstatistics10 – 20

    7.48.08.18.28.38.49.09.19.29.39.49.59.61011121314151617181920
  • pg_stat_subscription_statsstatistics15 – 20

    pg_stat_subscription_stats视图将包含每个订阅的一行。

    7.48.08.18.28.38.49.09.19.29.39.49.59.61011121314151617181920
  • pg_stat_sys_indexesstatistics7.4 – 20

  • pg_stat_sys_tablesstatistics7.4 – 20

  • pg_stat_user_functionsstatistics8.4 – 20

    pg_stat_user_functions视图将为每一个被追踪的函数包含一行,该行显示有关该函数执行的统计信息。track_functions参数控制到底哪些函数被跟踪。

  • pg_stat_user_indexesstatistics7.4 – 20

  • pg_stat_user_tablesstatistics7.4 – 20

  • pg_stat_walstatistics14 – 20

    pg_stat_wal 视图一直有一行,包含关于集簇的WAL活动的数据。

    7.48.08.18.28.38.49.09.19.29.39.49.59.61011121314151617181920
  • pg_stat_wal_receiverstatistics9.6 – 20

    pg_stat_wal_receiver视图只包含一行,显示 WAL 接收进程从其所连接服务器接收数据的统计信息。

    7.48.08.18.28.38.49.09.19.29.39.49.59.61011121314151617181920
  • pg_stat_xact_all_tablesstatistics9.1 – 20

  • pg_stat_xact_sys_tablesstatistics9.1 – 20

  • pg_stat_xact_user_functionsstatistics9.1 – 20

  • pg_stat_xact_user_tablesstatistics9.1 – 20

  • pg_statio_all_indexesstatistics7.4 – 20

    pg_statio_all_indexes视图将为当前数据库中的每个索引包含一行,该行显示指定索引上有关 I/O 的统计信息。pg_statio_user_indexes和pg_statio_sys_indexes视图包含相同的信息,但经过过滤,分别只显示用户索引和系统索引。

  • pg_statio_all_sequencesstatistics7.4 – 20

    pg_statio_all_sequences视图将为当前数据库中的每个序列包含一行,该行显示在指定序列上有关 I/O 的统计信息。

  • pg_statio_all_tablesstatistics7.4 – 20

    pg_statio_all_tables视图将为当前数据库中的每个表(包括 TOAST 表)包含一行,该行显示指定表上有关 I/O 的统计信息。pg_statio_user_tables和pg_statio_sys_tables视图包含相同的信息,但经过过滤,分别只显示用户表和系统表。

  • pg_statio_sys_indexesstatistics7.4 – 20

  • pg_statio_sys_sequencesstatistics7.4 – 20

  • pg_statio_sys_tablesstatistics7.4 – 20

  • pg_statio_user_indexesstatistics7.4 – 20

  • pg_statio_user_sequencesstatistics7.4 – 20

  • pg_statio_user_tablesstatistics7.4 – 20

  • pg_statisticcatalog7.4 – 20

    目录pg_statistic存储有关数据库内容的统计数据。其中的项由ANALYZE创建,查询规划器会使用这些数据来进行查询规划。注意所有的统计数据天然就是近似的,即使这些数据是最新的。 通常,每个已分析的表列都有一个条目,其中stainherit = false。如果表具有继承子表或分区,则还会创建第二个条目,其中stainherit = true。此行表示继承树上列的统计信息,即你可以通过SELECT column FROM table*看到的数据的统计信息,而stainherit = false行表示SELECT column FROM ONLY table的结果。 pg_statistic也存储关于索引表达式值的统计数据,就好像它们是真正的数据列,但在这种情况中starelid指索引。对一个普通非表达式索引列不会创建项,因为它将是底层表列的项的冗余。当前,索引表达式的项都具有stainherit = false。 由于不同种类的数据可能适合不同种类的统计信息,pg_statistic 在设计上尽量不对所存储的统计信息种类作出假定。只有极为通用的统计信息(例如空值情况)才在 pg_statistic 中有专用的列。其余统计信息都存储在“槽位”中。每个槽位都是一组相关的列,其内容由其中一列的代码编号来标识。更多信息见 src/include/catalog/pg_statistic.h。 pg_statistic不应公开可读,因为即使是表内容的统计信息也可能被认为是敏感的(例如,一个工资列的最大值和最小值就可能非常引人关注)。pg_stats是建立在pg_statistic之上的公开可读视图,它只会显示当前用户可读取的表的信息。

  • pg_statistic_extcatalog10 – 20

    目录pg_statistic_ext包含了扩展的规划器统计信息的定义。这个目录中的每一行对应于一个用CREATE STATISTICS创建的统计信息对象。

    7.48.08.18.28.38.49.09.19.29.39.49.59.61011121314151617181920
  • pg_statistic_ext_datacatalog12 – 20

    目录pg_statistic_ext_data保存在pg_statistic_ext中定义的扩展规划器统计信息的数据。该目录的每一行对应用CREATE STATISTICS创建的一个统计信息对象。 通常,每个已分析的统计信息对象都有一个 stxdinherit = false 的条目。如果表有继承子表或分区,还会创建第二个 stxdinherit = true 的条目。后者表示该统计信息对象在整个继承树上的统计信息,即通过 SELECT * FROM table* 看到的数据的统计信息;而 stxdinherit = false 的行表示 SELECT * FROM ONLY table 的结果。 像pg_statistic一样,pg_statistic_ext_data不应公开可读,因为其内容可能被视为敏感。(例如,列中最常见的值组合可能非常引人关注。)pg_stats_ext 是建立在pg_statistic_ext_data之上的公开可读视图,(在与pg_statistic_ext连接后),仅暴露当前用户拥有的表的信息。

    7.48.08.18.28.38.49.09.19.29.39.49.59.61011121314151617181920
  • pg_statsview7.4 – 20

    视图pg_stats提供对存储在pg_statistic目录中信息的访问。此视图仅允许访问用户具有读取权限的表对应的pg_statistic行,因此可以安全地允许对此视图进行公共读取访问。 pg_stats也旨在以比底层目录更易读的格式呈现信息— 但其模式必须在为pg_statistic定义新的槽类型时进行扩展。

  • pg_stats_extview12 – 20

    视图pg_stats_ext提供对数据库中每个扩展统计对象的信息的访问,结合存储在pg_statistic_ext和 pg_statistic_ext_data目录中的信息。此视图仅允许访问与用户拥有的表相对应的pg_statistic_ext 和pg_statistic_ext_data行,因此可以安全地允许对此视图进行公共读访问。 pg_stats_ext也旨在以比底层目录更易读的格式呈现信息 — 代价是每当添加新类型的扩展统计信息到pg_statistic_ext时,必须扩展其模式。

    7.48.08.18.28.38.49.09.19.29.39.49.59.61011121314151617181920
  • pg_stats_ext_exprsview14 – 20

    视图pg_stats_ext_exprs提供对扩展统计对象中包含的所有表达式信息的访问,结合存储在pg_statistic_ext 和pg_statistic_ext_data 目录中的信息。此视图仅允许访问与用户拥有的表相对应的 pg_statistic_ext和pg_statistic_ext_data 行,因此可以安全地允许对此视图进行公共读访问。 pg_stats_ext_exprs也旨在以比底层目录更易读的格式呈现信息— 但其模式必须在pg_statistic_ext中的统计结构更改时进行扩展。

    7.48.08.18.28.38.49.09.19.29.39.49.59.61011121314151617181920
  • pg_subscriptioncatalog10 – 20

    目录pg_subscription包含所有现有的逻辑复制订阅。更多有关逻辑复制的信息请见第 29 章。 和大部分系统目录不同,pg_subscription在集簇的所有数据库之间共享:每个集簇只有一份pg_subscription拷贝,而不是每个数据库一份。 对列subconninfo的访问被从普通用户那里收回,因为该列可能含有明文密码。

    7.48.08.18.28.38.49.09.19.29.39.49.59.61011121314151617181920
  • pg_subscription_relcatalog10 – 20

    目录pg_subscription_rel包含每个订阅中每个被复制关系的状态。这是一种多对多映射。 此目录只包含在运行CREATE SUBSCRIPTION或ALTER SUBSCRIPTION ... REFRESH PUBLICATION之后,对该订阅已知的表。

    7.48.08.18.28.38.49.09.19.29.39.49.59.61011121314151617181920
  • pg_tablesview7.4 – 20

    视图pg_tables提供了对数据库中每个表的有用信息的访问。

  • pg_tablespacecatalog8.0 – 20

    目录pg_tablespace存储关于可用表空间的信息。表可以被放置在特定表空间中以实现磁盘布局的管理。 与大部分其他系统目录不同,pg_tablespace在整个集簇的所有数据库之间共享:在每一个集簇中只有一个pg_tablespace的拷贝,而不是每个数据库一份。

  • pg_timezone_abbrevsview8.2 – 20

    视图pg_timezone_abbrevs提供当前被日期时间输入例程识别的时区缩写列表。当修改TimeZone或timezone_abbreviations运行时参数时,该视图的内容会发生变化。

  • pg_timezone_namesview8.2 – 20

    视图pg_timezone_names提供了一个由SET TIMEZONE识别的时区名称列表,以及它们的相关缩写、UTC偏移和夏令时状态。(从技术上讲,PostgreSQL不使用UTC,因为不处理闰秒。)与在pg_timezone_abbrevs中显示的缩写不同,这些名称中的许多隐含一组夏令时转换日期规则。因此,相关信息在跨越本地夏令时切换边界时发生变化。显示的信息是基于CURRENT_TIMESTAMP的当前值计算的。

  • pg_transformcatalog9.5 – 20

    目录pg_transform存储有关转换的信息,转换是一种让数据类型适应过程语言的机制。详见CREATE TRANSFORM。

    7.48.08.18.28.38.49.09.19.29.39.49.59.61011121314151617181920
  • pg_triggercatalog7.4 – 20

    目录pg_trigger存储表和视图上的触发器。详见CREATE TRIGGER。

  • pg_ts_configcatalog8.3 – 20

    pg_ts_config系统目录包含表示文本检索配置的条目。一个配置指定某个特定的文本检索解析器,以及针对该解析器每种输出词元类型所定义的词典列表。解析器记录在pg_ts_config条目中,而词元到词典的映射则由pg_ts_config_map中的辅助项定义。 PostgreSQL的文本检索特性在第 12 章中有更详尽的描述。

  • pg_ts_config_mapcatalog8.3 – 20

    pg_ts_config_map 系统目录中的条目说明了,对于每个文本检索配置所用解析器的每种输出词元类型,应当查询哪些文本检索词典以及查询的顺序。 PostgreSQL的文本检索特性在第 12 章中有更详尽的描述。

  • pg_ts_dictcatalog8.3 – 20

    pg_ts_dict系统目录包含定义文本检索词典的项。一个词典依赖于一个文本检索模板,它指定了所有需要的实现函数,词典本身则为模板支持的用户可设置参数提供值。这种分工允许普通用户创建词典。参数由一个文本串dictinitoption定义,其格式和意义随着模板而变化。 PostgreSQL的文本检索特性在第 12 章中有更详尽的描述。

  • pg_ts_parsercatalog8.3 – 20

    pg_ts_parser系统目录包含定义文本检索解析器的项。一个解析器负责将输入文本分割成词位并为每一个词位分配一个词元类型。由于一个解析器必须用 C 语言级别的函数实现,创建新解析器的工作只限于数据库的超级用户。 PostgreSQL的文本检索特性在第 12 章中有更详尽的描述。

  • pg_ts_templatecatalog8.3 – 20

    pg_ts_template系统目录包含定义文本检索模板的项。一个模板是一类文本检索词典的实现骨架。由于一个模板必须用 C 语言级别的函数实现,新模板的创建只限于数据库超级用户。 PostgreSQL的文本检索特性在第 12 章中有更详尽的描述。

  • pg_typecatalog7.4 – 20

    目录pg_type存储有关数据类型的信息。基础类型和枚举类型(标量类型)使用CREATE TYPE创建,而域使用CREATE DOMAIN创建。数据库中的每一个表都会有一个自动创建的复合类型,用于表示表的行结构。也可以使用CREATE TYPE AS创建复合类型。

  • pg_userview7.4 – 20

    视图pg_user提供数据库用户的信息。它本质上是 pg_shadow 的公开可读视图,并隐藏密码字段。

  • pg_user_mappingcatalog8.4 – 20

    目录pg_user_mapping存储从本地用户到远程用户的映射。对这个目录的访问对普通用户有限制,可使用视图pg_user_mappings替代。

  • pg_user_mappingsview8.4 – 20

    视图pg_user_mappings提供用户映射的信息。它本质上是 pg_user_mapping 的公开可读视图,但如果用户没有使用该用户映射的权限,则会省略选项字段。

  • pg_viewsview7.4 – 20

    视图pg_views提供了对数据库中每个视图的有用信息的访问。

  • pg_wait_eventsview17 – 20

    视图pg_wait_events提供等待事件的相关描述。

    7.48.08.18.28.38.49.09.19.29.39.49.59.61011121314151617181920