PolarDB PostgreSQL轻量版提供丰富的系统视图和系统表,可查看监控收集的统计信息。
系统视图
视图名称 | 描述 |
每个服务器进程一行,显示与该进程的当前活动相关的信息,例如状态和当前查询。 | |
pg_stat_replication | 每个WAL发送进程一行,显示有关到该发送进程连接的备服务器的复制的统计信息。 |
pg_stat_wal_receiver | 只有一行,显示来自WAL接收器所连接服务器的有关该接收器的统计信息。 |
pg_stat_subscription | 每个订阅至少一行,显示有关该订阅的工作者的信息。 |
pg_stat_ssl | 每个连接(常规的或者复制)一行,显示在这个连接上使用的SSL的信息。 |
pg_stat_progress_vacuum | 每个正在运行VACUUM后台进程(包括 |
统计收集结果视图
视图名称 | 描述 |
pg_stat_archiver | 只有一行,显示有关WAL归档进程活动的统计信息。 |
pg_stat_bgwriter | 只有一行,显示有关后台写进程的活动的统计信息。 |
pg_stat_database | 每个数据库一行,显示数据库范围的统计信息。 |
pg_stat_database_conflicts | 每个数据库一行,显示数据库范围的统计信息,其内容是关于由于与备节点恢复过程发生冲突而被取消的查询。 |
pg_stat_all_tables | 当前数据库中每个表一行,显示有关访问指定表的统计信息。 |
pg_stat_sys_tables | 显示有关访问系统表的统计信息。 |
pg_stat_user_tables | 显示有关访问用户表的统计信息。 |
pg_stat_xact_all_tables | 和 |
pg_stat_xact_sys_tables | 和 |
pg_stat_xact_user_tables | 和 |
pg_stat_all_indexes | 当前数据库中的每个索引一行,返回以下字段:表OID、索引OID、模式名、表名、索引名、使用该索引的索引扫描总数、索引扫描返回的索引记录数、使用该索引的简单索引扫描抓取的活表( |
pg_stat_sys_indexes | 和 |
pg_stat_user_indexes | 和 |
pg_statio_all_tables | 当前数据库中每个表一行(包括TOAST表),显示有关在指定表上I/O的统计信息。返回以下字段:表OID、模式名、表名、 从该表中读取的磁盘块总数、缓冲区命中次数、该表上所有索引的磁盘块读取总数、该表上所有索引的缓冲区命中总数、在该表的辅助TOAST表(如果存在)上的磁盘块读取总数、在该表的辅助TOAST表(如果存在)上的缓冲区命中总数、TOAST表的索引的磁盘块读取总数、TOAST表的索引的缓冲区命中总数。 |
pg_statio_sys_tables | 和 |
pg_statio_user_tables | 和 |
pg_statio_all_indexes | 当前数据库中每个索引一行,返回以下字段:表OID、索引OID、模式名、 表名、索引名、该索引的磁盘块读取总数、该索引的缓冲区命中总数。当前数据库中的每个索引一行,显示与指定索引上的I/O有关的统计信息。 |
pg_statio_sys_indexes | 和 |
pg_statio_user_indexes | 和 |
pg_statio_all_sequences | 当前数据库中每个序列对象一行,返回以下字段:序列OID、模式名、序列名、序列的磁盘读取总数、序列的缓冲区命中总数。当前数据库中的每个序列一行,显示与指定序列上的I/O有关的统计信息。 |
pg_statio_sys_sequences | 和 说明 目前没有定义系统序列,因此这个视图为空。 |
pg_statio_user_sequences | 和 |
pg_stat_user_functions | 每一个被跟踪的函数一行,显示与执行该函数有关的统计信息。对于所有跟踪功能,返回以下字段:函数OID、模式、名称、数量、通话总时间和自我时间。自我时间是在函数本身所花费的时间量,通话总时间包括它调用函数所花费的时间。时间值单位为毫秒。 |
pg_stat_xact_user_functions | 和 |
其中,pg_statio_
系列视图主要用于判断缓冲区的效果。当实际磁盘读取数远小于缓冲区命中时,这个缓冲能满足大部分读请求而无需进行内核调用。但是,这些统计信息不会列出所有的信息:由于PolarDB处理磁盘I/O的方式,不在缓冲区中的数据块仍然驻留在内核的I/O缓存中,并且因此可以被再次读取而不需要物理磁盘读取。如您希望了解PolarDB I/O行为的更多细节,可同时使用PolarDB统计收集器和操作系统中允许观察内核处理I/O的工具。
系统表
PolarDB PostgreSQL轻量版提供pg_locks
系统表用于监控数据库活动,允许数据库管理员查看在锁管理器里面未解决的锁的信息。
该表可以用于以下常见场景:
查看当前所有未解决的锁、在一个特定数据库中的关系上所有的锁、在一个特定关系上所有的锁,或者由一个特定PostgreSQL会话持有的所有的锁。
判断当前数据库中带有最多未被授予锁的关系(很可能是数据库客户端的竞争源)。
判断锁竞争给数据库总体性能带来的影响,以及随着整个数据库流量变化的锁竞争情况。
附录
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_port | INTEGER | 客户端的端口号,如果使用Unix套接字则为-1。 |
backend_start | TIMESTAMP WITH TIME ZONE | 该会话进程的启动时间,表示该会话连接到数据库的时间戳。 |
xact_start | TIMESTAMP WITH TIME ZONE | 当前事务的开启时间,如果没有活动事务则为NULL。如果当前查询是它的第一个事务,这一列等于 |
query_start | TIMESTAMP WITH TIME ZONE | 当前正在执行的查询的开始时间,如果 |
state_change | TIMESTAMP WITH TIME ZONE | 会话状态最近一次的更改时间。 |
wait_event_type | TEXT | 会话当前正在等待的事件类型,如果不存在则为NULL。可能的取值包括:
|
wait_event | TEXT | 会话当前正在等待的具体事件,如果没有等待,则为NULL。 |
state | TEXT | 会话的当前状态。可能的取值包括:
|
backend_xid | XID | 该会话的顶层事务标识符(如果存在)。 |
backend_xmin | XID | 该会话的 |
query | TEXT | 该会话最近查询的文本。如果 |
backend_type | TEXT | 该会话的类型。可能的取值包括: |