选择 打开 改范围 完整检索页

pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。

受支持版本: 当前版本 (18) / 17 / 16 / 15 / 14
测试与开发版本: 19 / devel
不受支持的版本: 13 / 12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0
历史版本PostgreSQL 9.4 已于 2020 年 2 月结束社区维护,本页译文保留供仍在使用旧版本的读者参考。新系统请看当前版本

27.2. 统计收集器 #

PostgreSQL统计收集器是一个支持收集和报告服务器活动信息的子系统。 目前,对表和索引的访问分别以磁盘块和单行计数。每个表中的总行数, 以及每个表的清理和分析操作的信息也被计数。它还可以统计对用户定义函数的调用 和每个函数中花费的总时间。

PostgreSQL还支持报告其他服务器进程当前正在执行的确切命令。 此功能独立于收集器进程。

27.2.1. 统计信息收集配置 #

由于收集统计信息会增加查询执行的开销,因此可以配置系统是否收集信息。这由通常在postgresql.conf中设置的配置参数控制(有关设置配置参数的详细信息,请参阅第 18 章)。

参数track_activities启用对任意服务器进程当前执行命令的监控。

参数track_counts控制是否收集关于表和索引访问的统计信息。

参数track_functions启用对用户定义函数使用的跟踪。

参数track_io_timing启用对块读取和写入时间的监控。

通常,这些参数会设置在postgresql.conf中,以便它们适用于所有服务器进程,但也可以在单个会话中使用SET命令打开或关闭它们。(为防止普通用户隐藏其活动不被管理员发现,只有超级用户才能使用SET更改这些参数。)

统计收集器通过临时文件把收集到的信息传递给其他PostgreSQL进程。 这些文件默认存放在由stats_temp_directory参数指定的目录中,即pg_stat_tmp。 为了获得更好的性能,可以把stats_temp_directory指向基于 RAM 的文件系统,以减少物理 I/O 需求。 当服务器正常关闭时,统计信息数据的永久副本会存储在pg_stat子目录中,以便在服务器重启后保留这些统计信息。 当服务器启动时执行恢复时(例如立即关闭后、服务器崩溃后以及进行时间点恢复时),所有统计计数器都会被重置。

27.2.2. 查看收集到的统计信息 #

有几个预定义视图列在表 27.1中,可用于显示统计信息收集的结果。也可以像第 27.2.3 节中所述那样,使用底层的统计函数构建自定义视图。

当使用统计信息来监视当前活动时,重要的是要意识到信息不会立即更新。每个单独的服务器进程会在转为空闲之前把新的统计计数发送给收集器,因此仍在进行中的查询或事务不会影响显示的总计。并且,收集器本身最多每隔PGSTAT_STAT_INTERVAL毫秒才会发出一份新报告一次(除非在构建服务器时做过修改,否则为 500 毫秒)。因此,显示的信息会滞后于实际活动。然而,由track_activities收集的当前查询信息始终是最新的。

另一个重要点是,当要求服务器进程显示这些统计信息中的任何一种时,它会先取回收集器进程最近发出的报告,然后在当前事务结束之前,对所有统计视图和函数一直使用这一快照。因此,只要你继续当前事务,统计信息就会显示静态信息。类似地,在事务中第一次请求这类当前查询信息时,就会收集所有会话当前查询的信息,并且在整个事务期间显示的都是同一份信息。这是一个特性,而不是一个错误,因为它允许你对统计信息执行多个查询并对结果做关联,而不必担心数字在你眼前变化。但如果希望每个查询都看到新的结果,请确保在任何事务块之外执行这些查询。或者,也可以调用pg_stat_clear_snapshot(),它会丢弃当前事务的统计快照(如果有)。下一次使用统计信息时,就会获取一个新的快照。

事务还可以在视图pg_stat_xact_all_tablespg_stat_xact_sys_tablespg_stat_xact_user_tablespg_stat_xact_user_functions中看到自己的统计信息 (这些统计信息尚未传送给收集器)。这些数字不像上面所述那样起作用; 相反,它们在事务期间持续更新。

表 27.1. 标准统计视图

视图名称 描述
pg_stat_activity 每个服务器进程一行,显示与该进程当前活动有关的信息,例如状态和当前查询。详见pg_stat_activity
pg_stat_archiver 只有一行,显示 WAL 归档进程活动的统计信息。详见pg_stat_archiver
pg_stat_bgwriter 只有一行,显示后台写入器活动的统计信息。详见pg_stat_bgwriter
pg_stat_database 每个数据库一行,显示整个数据库的统计信息。详见pg_stat_database
pg_stat_all_tables 当前数据库中的每个表一行,显示访问该表的统计信息。详见pg_stat_all_tables
pg_stat_sys_tables pg_stat_all_tables一样,但只显示系统表。
pg_stat_user_tables pg_stat_all_tables一样,但只显示用户表。
pg_stat_xact_all_tables pg_stat_all_tables 相似,但只统计当前事务中截至目前执行的操作(这些操作尚计入 pg_stat_all_tables 及相关视图)。此视图不包含存活行和死行数量以及清理、分析操作的列。
pg_stat_xact_sys_tables pg_stat_xact_all_tables一样,但只显示系统表。
pg_stat_xact_user_tables pg_stat_xact_all_tables一样,但只显示用户表。
pg_stat_all_indexes 当前数据库中的每个索引一行,显示访问该索引的统计信息。详见pg_stat_all_indexes
pg_stat_sys_indexes pg_stat_all_indexes一样,但只显示系统表上的索引。
pg_stat_user_indexes pg_stat_all_indexes一样,但只显示用户表上的索引。
pg_statio_all_tables 当前数据库中的每个表一行,显示该表的 I/O 统计信息。详见pg_statio_all_tables
pg_statio_sys_tables pg_statio_all_tables一样,但只显示系统表。
pg_statio_user_tables pg_statio_all_tables一样,但只显示用户表。
pg_statio_all_indexes 当前数据库中的每个索引一行,显示该索引的 I/O 统计信息。详见pg_statio_all_indexes
pg_statio_sys_indexes pg_statio_all_indexes一样,但只显示系统表上的索引。
pg_statio_user_indexes pg_statio_all_indexes一样,但只显示用户表上的索引。
pg_statio_all_sequences 当前数据库中的每个序列一行,显示该序列的 I/O 统计信息。详见pg_statio_all_sequences
pg_statio_sys_sequences pg_statio_all_sequences一样,但只显示系统序列(目前没有定义系统序列,因此这个视图总是为空)。
pg_statio_user_sequences pg_statio_all_sequences一样,但只显示用户序列。
pg_stat_user_functions 每个被跟踪的函数一行,显示该函数执行的统计信息。详见pg_stat_user_functions
pg_stat_xact_user_functions pg_stat_user_functions相似,但是只统计在当前事务期间的调用(还没有被包括在pg_stat_user_functions中)。
pg_stat_replication 每个 WAL 发送进程一行,显示向其所连接的备库进行复制的统计信息。详见pg_stat_replication
pg_stat_database_conflicts 每个数据库一行,显示备库上因与恢复冲突而取消查询的数据库范围统计信息。详见pg_stat_database_conflicts

每个索引的统计信息对于判断哪些索引正在被使用以及它们有多有效尤其有用。

pg_statio_视图主要用于判断缓冲区缓存的有效性。 如果实际磁盘读取次数远少于缓冲区命中次数,缓存就能满足大多数读取请求,而无需调用内核。 不过,这些统计信息并不能反映全部情况:由于PostgreSQL处理磁盘 I/O 的方式, 不在PostgreSQL缓冲区缓存中的数据仍可能驻留在内核的 I/O 缓存中, 因而仍可在不执行物理读取的情况下取得。对于希望更详细地了解PostgreSQL I/O 行为的用户, 建议将PostgreSQL统计收集器与能够深入查看内核 I/O 处理情况的操作系统工具结合使用。

表 27.2. pg_stat_activity 视图

类型 描述
datid oid 这个后端连接到的数据库的OID
datname name 这个后端连接到的数据库的名称
pid integer 这个后端的进程 ID
usesysid oid 登录到这个后端的用户的 OID
usename name 登录到此后端的用户名称
application_name text 连接到此后端的应用名称
client_addr inet 连接到这个后端的客户端的 IP 地址。如果这个字段为空值,它表示客户端通过服务器机器上的一个 Unix 套接字连接或者这是一个内部进程,如自动清理。
client_hostname text 已连接的客户端的主机名,由client_addr的反向 DNS 查找报告。 这个字段将只对 IP 连接非空,并且只有 log_hostname被启用时才会非空。
client_port integer 客户端用于与此后端通信的 TCP 端口号;如果使用 Unix 套接字,则为-1
backend_start timestamp with time zone 这个进程被启动的时间,也就是客户端连接到服务器的时间
xact_start timestamp with time zone 这个进程的当前事务被启动的时间,如果没有活动事务则为空值。 如果当前查询是其事务中的第一个查询,这一列等于query_start列。
query_start timestamp with time zone 当前活动查询开始的时间;如果state不是active,则为上一个查询的开始时间
state_change timestamp with time zone state上一次发生改变的时间
waiting boolean 如果此后端当前正在等待一个锁,则为真
state text 该后端当前的总体状态。可能的值为:
  • active:后端正在执行一个查询。

  • idle:后端正在等待新的客户端命令。

  • idle in transaction:后端处于事务中,但当前没有执行查询。

  • idle in transaction (aborted):该状态与idle in transaction类似,但事务中的某个语句导致了错误。

  • fastpath function call:后端正在执行一个快速路径函数。

  • disabled:如果在此后端中禁用了track_activities,就会报告此状态。

backend_xid xid 这个后端的顶层事务 ID,如果存在。
backend_xmin xid 当前后端的xmin视界。
query text 这个后端最近查询的文本。如果stateactive,这个字段显示当前正在执行的查询。 在所有其他状态下,它显示上一个被执行的查询。

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

注意

waitingstate列彼此独立。如果某个后端处于active状态,它可能正在waiting(等待),也可能没有。如果状态为activewaiting为真,就意味着某个查询正在执行,但在系统中的某处被锁阻塞。

表 27.3. pg_stat_archiver 视图

类型 描述
archived_count bigint 已成功归档的WAL文件数
last_archived_wal text 最近成功归档的WAL文件的名称
last_archived_time timestamp with time zone 最近成功归档操作的时间
failed_count bigint 记录WAL文件归档失败次数
last_failed_wal text 最近一次归档操作失败的WAL文件的名称
last_failed_time timestamp with time zone 最近一次归档操作失败的时间
stats_reset timestamp with time zone 这些统计信息上次被重置的时间

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

表 27.4. pg_stat_bgwriter 视图

类型 描述
checkpoints_timed bigint 已执行的计划检查点数
checkpoints_req bigint 已执行的请求检查点数
checkpoint_write_time double precision 检查点处理中将文件写入磁盘部分所花费的总时间,单位为毫秒
checkpoint_sync_time double precision 检查点处理中将文件同步到磁盘部分所花费的总时间,单位为毫秒
buffers_checkpoint bigint 检查点期间写入的缓冲区数
buffers_clean bigint 后台写入器写入的缓冲区数量
maxwritten_clean bigint 后台写入器因写入了过多缓冲区而停止清理扫描的次数
buffers_backend bigint 后端直接写入的缓冲区数
buffers_backend_fsync bigint 后端必须自行执行fsync调用的次数(通常即使后端自行写入,也由后台写入器处理这些调用)
buffers_alloc bigint 分配的缓冲区数量
stats_reset timestamp with time zone 这些统计信息上次被重置的时间

pg_stat_bgwriter 视图始终只有一行,包含整个集簇的全局数据。

表 27.5. pg_stat_database 视图

类型 描述
datid oid 数据库的OID
datname name 数据库的名称
numbackends integer 当前连接到此数据库的后端数。 这是该视图中唯一返回反映当前状态的值的列;所有其他列返回的都是自上次重置以来累积的值。
xact_commit bigint 此数据库中已提交的事务数
xact_rollback bigint 该数据库中已回滚的事务数
blks_read bigint 在该数据库中读取的磁盘块数
blks_hit bigint 在缓冲区缓存中发现磁盘块、因而无需读取的次数(这里只统计 PostgreSQL 缓冲区缓存中的命中,不包括操作系统文件系统缓存中的命中)
tup_returned bigint 此数据库中的查询返回的行数
tup_fetched bigint 此数据库中的查询获取的行数
tup_inserted bigint 查询在该数据库中插入的行数
tup_updated bigint 这个数据库中查询更新的行数
tup_deleted bigint 这个数据库中被查询删除的行数
conflicts bigint 由于与此数据库中的恢复冲突而被取消的查询数。(冲突只会发生在备库上;请参阅pg_stat_database_conflicts。)
temp_files bigint 这个数据库中查询创建的临时文件的数量。所有临时文件都将被计数,而不顾及临时文件为什么被创建(例如,排序或散列),也不考虑log_temp_files设置。
temp_bytes bigint 这个数据库中的查询写入临时文件的数据总量。所有临时文件都将被计数,而不考虑临时文件为什么被创建,也不考虑log_temp_files设置。
deadlocks bigint 在此数据库中检测到的死锁数
blk_read_time double precision 此数据库的后端读取数据文件块所花费的时间,单位为毫秒
blk_write_time double precision 此数据库的后端写入数据文件块所花费的时间,单位为毫秒
stats_reset timestamp with time zone 这些统计数据最后一次重置的时间

pg_stat_database视图为集簇中的每个数据库包含一行,显示整个数据库的统计信息。

表 27.6. pg_stat_all_tables 视图

类型 描述
relid oid 表的OID
schemaname name 该表所在的模式的名称
relname name 这个表的名称
seq_scan bigint 在此表上启动的顺序扫描数
seq_tup_read bigint 顺序扫描获取的存活行数
idx_scan bigint 对这个表发起的索引扫描数
idx_tup_fetch bigint 索引扫描获取的存活行数
n_tup_ins bigint 插入的行数
n_tup_upd bigint 更新的行数
n_tup_del bigint 删除的行数
n_tup_hot_upd bigint HOT 更新的行数(即不需要单独更新索引)
n_live_tup bigint 活的行的估计数量
n_dead_tup bigint 死行的估计数量
n_mod_since_analyze bigint 自上次分析此表以来修改的行的估计数量
last_vacuum timestamp with time zone 最后一次手动清理这个表的时间(不包括VACUUM FULL
last_autovacuum timestamp with time zone 这个表最后一次被自动清理守护进程清理的时间
last_analyze timestamp with time zone 上一次手动分析这个表的时间
last_autoanalyze timestamp with time zone 自动清理守护进程最后一次分析这个表的时间
vacuum_count bigint 这个表被手动清理的次数(VACUUM FULL不计数)
autovacuum_count bigint 这个表被自动清理守护进程清理的次数
analyze_count bigint 手动分析这个表的次数
autoanalyze_count bigint 这个表被自动清理守护进程分析的次数

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

表 27.7. pg_stat_all_indexes 视图

类型 描述
relid oid 对于此索引的表的OID
indexrelid oid 这个索引的OID
schemaname name 这个索引所在的模式名称
relname name 这个索引的表的名称
indexrelname name 这个索引的名称
idx_scan bigint 在这个索引上开启的索引扫描的数量
idx_tup_read bigint 扫描此索引返回的索引项数
idx_tup_fetch bigint 使用此索引进行简单索引扫描获取的存活表行数

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

索引可以被简单索引扫描或者位图索引扫描使用。在一次位图扫描中,多个索引的输出可以被通过 AND 或 OR 规则组合,因此当使用一次位图扫描时难以将取得的个体堆行与特定的索引关联起来。因此,一次位图扫描会增加它使用的索引的pg_stat_all_indexes.idx_tup_read计数,并且为该表增加pg_stat_all_tables.idx_tup_fetch计数,但是它不影响pg_stat_all_indexes.idx_tup_fetch

注意

即使不用位图扫描,idx_tup_readidx_tup_fetch计数也可能不同,因为idx_tup_read统计从该索引取得的索引项而idx_tup_fetch统计从表取得的存活行。如果使用该索引取得了任何死亡行或还未提交的行,或者如果通过一次仅索引扫描的方式避免了任何堆获取,后者将较小。

表 27.8. pg_statio_all_tables 视图

类型 描述
relid oid 表的OID
schemaname name 该表所在的模式的名称
relname name 这个表的名称
heap_blks_read bigint 从该表中读取的磁盘块的数量
heap_blks_hit bigint 该表中的缓冲区命中数
idx_blks_read bigint 从这个表上所有索引读取的磁盘块数
idx_blks_hit bigint 这个表上所有索引中的缓冲区命中数
toast_blks_read bigint 从这个表的TOAST表中读取的磁盘块的数量(如果有的话)
toast_blks_hit bigint 这个表的TOAST表中的缓冲区命中数(如果有的话)
tidx_blks_read bigint 从这个表的TOAST表索引中读取的磁盘块的数量(如果有的话)
tidx_blks_hit bigint 这个表的TOAST表索引中的缓冲区命中数(如果有的话)

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

表 27.9. pg_statio_all_indexes 视图

类型 描述
relid oid 对于此索引的表的OID
indexrelid oid 这个索引的OID
schemaname name 这个索引所在的模式名称
relname name 这个索引的表的名称
indexrelname name 这个索引的名称
idx_blks_read bigint 从此索引中读取的磁盘块的数量
idx_blks_hit bigint 此索引中的缓冲区命中数

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

表 27.10. pg_statio_all_sequences 视图

类型 描述
relid oid 序列的OID
schemaname name 此序列所在的模式的名称
relname name 此序列的名称
blks_read bigint 从这个序列中读取的磁盘块的数量
blks_hit bigint 在此序列中的缓冲区命中数

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

表 27.11. pg_stat_user_functions 视图

类型 描述
funcid oid 函数的OID
schemaname name 这个函数所在的模式的名称
funcname name 这个函数的名称
calls bigint 这个函数已经被调用的次数
total_time double precision 在这个函数以及它所调用的其他函数中花费的总时间,以毫秒计
self_time double precision 在这个函数本身花费的总时间,不包括被它调用的其他函数,以毫秒计

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

表 27.12. pg_stat_replication 视图

类型 描述
pid integer 一个 WAL 发送进程的进程 ID
usesysid oid 登录到这个 WAL 发送进程的用户的 OID
usename name 登录到这个 WAL 发送进程的用户的名称
application_name text 连接到这个 WAL 发送进程的应用的名称
client_addr inet 连接到这个 WAL 发送进程的客户端的 IP 地址。 如果这个字段为空值,它表示该客户端通过服务器机器上的一个Unix 套接字连接。
client_hostname text 已连接的客户端的主机名,由client_addr的反向 DNS 查找报告。 这个字段将只对 IP 连接非空,并且只有 log_hostname被启用时才会非空。
client_port integer 客户端用来与这个 WAL 发送进程通讯的 TCP 端口号,如果使用 Unix 套接字则为-1
backend_start timestamp with time zone 这个进程开始的时间,即客户端是何时连接到这个WAL 发送进程的。
backend_xmin xid hot_standby_feedback报告的该备库的xmin视界。
state text 当前 WAL 发送进程的状态
sent_location pg_lsn 在这个连接上发送的最后一个事务日志的位置
write_location pg_lsn 该备库已写入磁盘的最后一个事务日志位置
flush_location pg_lsn 该备库已刷入磁盘的最后一个事务日志位置
replay_location pg_lsn 已在该备库数据库中重放的最后一个事务日志位置
sync_priority integer 该备库被选为同步备库的优先级。
sync_state text 此备库的同步状态

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

表 27.13. pg_stat_database_conflicts 视图

类型 描述
datid oid 数据库的OID
datname name 数据库的名称
confl_tablespace bigint 这个数据库中由于删除表空间而取消的查询的数量
confl_lock bigint 此数据库中由于锁定超时而被取消的查询数
confl_snapshot bigint 此数据库中由于旧快照而取消的查询数
confl_bufferpin bigint 此数据库中由于缓冲区被钉住而被取消的查询数
confl_deadlock bigint 此数据库中由于死锁而被取消的查询数

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

27.2.3. 统计函数 #

其他查看统计信息的方法是直接使用查询,这些查询使用上述标准视图用到的底层统计信息访问函数。 如要了解如函数名等细节,可参考标准视图的定义(例如,在psql中你可以发出\d+ pg_stat_activity)。 针对每一个数据库统计信息的访问函数把一个数据库 OID 作为参数来标识要报告哪个数据库。而针对每个表和每个索引的函数要求表或索引 OID。 针对每个函数统计信息的函数用一个函数 OID。注意只有在当前数据库中的表、索引和函数才能被这些函数看到。

与统计收集器相关的其他功能在表 27.14中列出。

表 27.14. 附加统计函数

函数 返回类型 描述
pg_backend_pid() integer 处理当前会话的服务器进程的进程 ID
pg_stat_get_activity(integer) setof record 返回一条记录,包含指定 PID 的后端的信息;如果指定NULL,则为系统中的每个活动后端返回一条记录。返回字段是pg_stat_activity视图字段的子集。
pg_stat_clear_snapshot() void 丢弃当前统计信息快照
pg_stat_reset() void 将当前数据库的所有统计计数器重置为零(需要超级用户权限)
pg_stat_reset_shared(text) void 根据参数将某些集簇范围的统计计数器重置为零(需要超级用户权限)。调用pg_stat_reset_shared('bgwriter')会将pg_stat_bgwriter视图中显示的所有计数器清零。调用pg_stat_reset_shared('archiver')会将pg_stat_archiver视图中显示的所有计数器清零。
pg_stat_reset_single_table_counters(oid) void 将当前数据库中单个表或索引的统计信息重置为零(需要超级用户权限)
pg_stat_reset_single_function_counters(oid) void 将当前数据库中单个函数的统计信息重置为零(需要超级用户权限)

pg_stat_get_activitypg_stat_activity视图的底层函数, 它返回一个行集合,其中包含有关每个后端进程所有可用的信息。有时只获得该信息的一个子集可能会更方便。 在那些情况中,可以使用一组更老的针对每个后端的统计访问函数,这些显示在表 27.15中。 这些访问函数使用一个后端 ID 号,范围从 1 到当前活动后端数目。 函数pg_stat_get_backend_idset提供了一种方便的方法为每个活动后端产生一行来调用这些函数。 例如,要显示PID以及所有后端当前的查询:

SELECT pg_stat_get_backend_pid(s.backendid) AS pid,
       pg_stat_get_backend_activity(s.backendid) AS query
    FROM (SELECT pg_stat_get_backend_idset() AS backendid) AS s;

表 27.15. 按后端统计函数

函数 返回类型 描述
pg_stat_get_backend_idset() setof integer 当前活动后端的 ID 编号集合(从 1 到活动后端数)
pg_stat_get_backend_activity(integer) text 此后端最近查询的文本
pg_stat_get_backend_activity_start(integer) timestamp with time zone 最近查询的开始时间
pg_stat_get_backend_client_addr(integer) inet 连接到此后端的客户端的 IP 地址
pg_stat_get_backend_client_port(integer) integer 客户端用于通信的 TCP 端口号
pg_stat_get_backend_dbid(integer) oid 这个后端连接到的数据库的OID
pg_stat_get_backend_pid(integer) integer 这个后端的进程 ID
pg_stat_get_backend_start(integer) timestamp with time zone 此进程的启动时间
pg_stat_get_backend_userid(integer) oid 登录到这个后端的用户的 OID
pg_stat_get_backend_waiting(integer) boolean 如果此后端当前正在等待一个锁,则为真
pg_stat_get_backend_xact_start(integer) timestamp with time zone 当前事务的开始时间

提交更正

译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。