PostgreSQL(九)内置系统视图

这篇具有很好参考价值的文章主要介绍了PostgreSQL(九)内置系统视图。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、系统视图

PGSQL 中提供了一系列内置的视图,包括系统视图其他视图

  • 系统视图提供了查询系统表的一些便利的访问方法。
  • 其他视图提供了访问内部服务器状态的方法。

官方文档: https://www.postgresql.org/docs/14/monitoring-stats.html

我们可以使用 \dv pg* 命令查询 PGSQL 中所有的内置系统视图:

postgres=# \dv pg*
List of relations
Schema | Name | Type | Owner
------------+---------------------------------+------+----------
pg_catalog | pg_available_extension_versions | view | postgres
pg_catalog | pg_available_extensions | view | postgres
pg_catalog | pg_config | view | postgres
pg_catalog | pg_cursors | view | postgres
pg_catalog | pg_file_settings | view | postgres
pg_catalog | pg_group | view | postgres
pg_catalog | pg_hba_file_rules | view | postgres
pg_catalog | pg_indexes | view | postgres
pg_catalog | pg_locks | view | postgres
pg_catalog | pg_matviews | view | postgres
pg_catalog | pg_policies | view | postgres
pg_catalog | pg_prepared_statements | view | postgres
pg_catalog | pg_prepared_xacts | view | postgres
pg_catalog | pg_publication_tables | view | postgres
pg_catalog | pg_replication_origin_status | view | postgres
pg_catalog | pg_replication_slots | view | postgres
pg_catalog | pg_roles | view | postgres
pg_catalog | pg_rules | view | postgres
pg_catalog | pg_seclabels | view | postgres
pg_catalog | pg_sequences | view | postgres
pg_catalog | pg_settings | view | postgres
pg_catalog | pg_shadow | view | postgres
pg_catalog | pg_shmem_allocations | view | postgres
pg_catalog | pg_stat_activity | view | postgres
pg_catalog | pg_stat_all_indexes | view | postgres
pg_catalog | pg_stat_all_tables | view | postgres
pg_catalog | pg_stat_archiver | view | postgres
pg_catalog | pg_stat_bgwriter | view | postgres
pg_catalog | pg_stat_database | view | postgres
pg_catalog | pg_stat_database_conflicts | view | postgres
pg_catalog | pg_stat_gssapi | view | postgres
pg_catalog | pg_stat_progress_analyze | view | postgres
pg_catalog | pg_stat_progress_basebackup | view | postgres
pg_catalog | pg_stat_progress_cluster | view | postgres
pg_catalog | pg_stat_progress_create_index | view | postgres
pg_catalog | pg_stat_progress_vacuum | view | postgres
pg_catalog | pg_stat_replication | view | postgres
pg_catalog | pg_stat_slru | view | postgres
pg_catalog | pg_stat_ssl | view | postgres
pg_catalog | pg_stat_subscription | view | postgres
pg_catalog | pg_stat_sys_indexes | view | postgres
pg_catalog | pg_stat_sys_tables | view | postgres
pg_catalog | pg_stat_user_functions | view | postgres
pg_catalog | pg_stat_user_indexes | view | postgres
pg_catalog | pg_stat_user_tables | view | postgres
pg_catalog | pg_stat_wal_receiver | view | postgres
pg_catalog | pg_stat_xact_all_tables | view | postgres
pg_catalog | pg_stat_xact_sys_tables | view | postgres
pg_catalog | pg_stat_xact_user_functions | view | postgres
pg_catalog | pg_stat_xact_user_tables | view | postgres
pg_catalog | pg_statio_all_indexes | view | postgres
pg_catalog | pg_statio_all_sequences | view | postgres
pg_catalog | pg_statio_all_tables | view | postgres
pg_catalog | pg_statio_sys_indexes | view | postgres
pg_catalog | pg_statio_sys_sequences | view | postgres
pg_catalog | pg_statio_sys_tables | view | postgres
pg_catalog | pg_statio_user_indexes | view | postgres
pg_catalog | pg_statio_user_sequences | view | postgres
pg_catalog | pg_statio_user_tables | view | postgres
pg_catalog | pg_stats | view | postgres
pg_catalog | pg_stats_ext | view | postgres
pg_catalog | pg_tables | view | postgres
pg_catalog | pg_timezone_abbrevs | view | postgres
pg_catalog | pg_timezone_names | view | postgres
pg_catalog | pg_user | view | postgres
pg_catalog | pg_user_mappings | view | postgres
pg_catalog | pg_views | view | postgres
(67 rows)

其中我们最常用的就是 pg_stat_activity 视图,下面我们详细看一下:

二、 pg_stat_activity 视图

1.简介

pg_stat_activity 是 PostgreSQL 内置的系统视图,该视图将为每个服务器进程显示一行数据,数据中会展示与当前活动进程的相关信息。

pg_stat_activity 作为查询监控的视图,其具有如下特点:

服务端事件采集 客户端消费方式 历史查询落地 性能损耗 分布式采集 查询性能数据
主动拉取

官方文档: https://www.postgresql.org/docs/14/monitoring-stats.html#MONITORING-PG-STAT-ACTIVITY-VIEW

2.核心字段

pg_stat_activity 视图核心字段查询结果如下所示:

select datname,pid,state,query,client_addr,query_start from pg_stat_activity;

PostgreSQL(九)内置系统视图

<insufficient privilege> 表示当前用户没有权限,除超级用户外,一般用户只能查询到自己数据库下的相关查询语句。

pg_stat_activity 视图核心字段说明如下:

  • datname:连接数据库名称。
  • pid:进程ID。
  • state:进程的整体状态,active 表示进程正在执行查询。
  • query:进程的查询SQL,默认查询文本被截断为 1024 字节。
  • client_addr:连接到数据库的客户端 IP 地址,为空则表示客户端是通过服务器上的 Unix 套接字连接的,或者这是一个内部进程,例如 autovacuum。
  • query_start:进程的查询开始时间,如果 state 不是 active,则为最后一个查询开始的时间。

3.全部字段

pg_stat_activity 视图查询结果如下所示:

mydb=> select * from pg_stat_activity;
 datid  | datname  |  pid  | leader_pid | usesysid |  usename   |           application_name           | client_addr | client_hostname | client_port |         backend_start         |          xact_start           |          query_start          |         state_change          | wait_event_type | wait_event | state  | backend_xid | backend_xmin | query_id |              query              |  backend_type
--------+----------+-------+------------+----------+------------+--------------------------------------+-------------+-----------------+-------------+-------------------------------+-------------------------------+-------------------------------+-------------------------------+-----------------+------------+--------+-------------+--------------+----------+---------------------------------+----------------
        |          | 12328 |            |       10 | postgres   |                                      |             |                 |             |                               |                               |                               |                               |                 |            |        |             |              |          | <insufficient privilege>        |
        |          | 19360 |            |          |            |                                      |             |                 |             |                               |                               |                               |                               |                 |            |        |             |              |          | <insufficient privilege>        |
  16399 | mobiledb | 34012 |            |    16398 | mobileuser | DBeaver 22.3.4 - Main <mobiledb>     |             |                 |             |                               |                               |                               |                               |                 |            |        |             |              |          | <insufficient privilege>        |
  16399 | mobiledb |  5676 |            |    16398 | mobileuser | DBeaver 22.3.4 - Metadata <mobiledb> |             |                 |             |                               |                               |                               |                               |                 |            |        |             |              |          | <insufficient privilege>        |
 273657 | mydb     | 11756 |            |   273656 | root       | psql                                 | 127.0.0.1   |                 |       54910 | 2023-06-16 15:59:17.215151+08 | 2023-06-16 16:57:00.684529+08 | 2023-06-16 16:57:00.684529+08 | 2023-06-16 16:57:00.684548+08 |                 |            | active |             |       153924 |          | select * from pg_stat_activity; | client backend
        |          | 14852 |            |          |            |                                      |             |                 |             |                               |                               |                               |                               |                 |            |        |             |              |          | <insufficient privilege>        |
        |          | 14720 |            |          |            |                                      |             |                 |             |                               |                               |                               |                               |                 |            |        |             |              |          | <insufficient privilege>        |
        |          | 19216 |            |          |            |                                      |             |                 |             |                               |                               |                               |                               |                 |            |        |             |              |          | <insufficient privilege>        |
(8 行记录)

pg_stat_activity 视图的字段说明如下:

类型 描述
datid oid 连接后端的数据库OID
datname name 连接后端的数据库名称
pid integer 后端进程ID
leader_pid integer 如果此进程是并行查询工作者,该值为并行组负责人进程ID;如果这个进程是并行组长或者不参与并行查询,该值为NULL。
usesysid oid 登录后端的用户OID
usename name 登录到该后端的用户名
application_name text 连接到后端的应用名
client_addr inet 连接到此后端的客户端的 IP 地址。如果此字段为空,则表明客户端是通过服务器机器上的 Unix 套接字连接的,或者这是一个内部进程,例如 autovaccum。
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 该进程的当前事务开始的时间,如果没有事务处于活动状态,则为 null。如果当前查询是其事务的第一个,则该列等于该 query_start 列。
query_start timestamp with time zone 当前活动查询开始的时间,如果 state 不是 active,则为最后一个查询开始的时间。
state_change timestamp with time zone state 上次更改的时间。
wait_event_type text 后端正在等待的事件类型(如果有);否则为空。见等待事件类型表。
wait_event text 如果后端当前正在等待,则等待事件名称, 否则为NULL。
state text 此后段的当前整体状态。可能的值为:
active 后端正在执行查询;
idle 后端正在等待新的客户端命令;
idle in transaction 后端处于事务中,但当前未执行查询;
idle in transaction (aborted) 此状态类似于 idle in trasaction,只是事务中的一条语句导致了错误;
fastpath function call 后端正在执行快速路径功能;
disabled 如果在此后端禁用 track_activities,则会报告此状态。
backend_xid xid 此后端的顶级事务标识符(如果有)
backend_xmin xid 当前后端的xmin范围
query_id bigint 此后端最近查询的标识符。如果 state 是 active 此字段显示当前正在执行的查询的标识符。在所有其他状态下,它显示最后执行的查询的标识符。默认情况下不计算查询标识符,因此该字段将为空,除非启用了 compute_query_id 参数或配置了计算查询标识符的第三方模块。
query text 此后端最近查询的文本。如果 state 是 active 此字段显示当前正在执行的查询。在所有其他状态下,它显示最后执行的查询的标识符。默认情况下,查询文本被阶段为 1024 字节;这个值可以通过参数 track_activity_query_size 改变。
backend_type text 当前后端的类型。可能的类型有 autovacuum launcher,autovacuum worker,logical replication launcher,logical replication worker,parallel worker,background writer,client backend, checkpointer ,archiver,startup,walreceiver,wawlsender 和 walwriter。此外,通过扩展注册的后台进程可能还有其他类型。

整理完毕,完结撒花~ 🌻





参考地址:

1.postgresql中的系统视图,https://www.modb.pro/db/601572

2.PostgreSQL数据库查询监控技术——pg_stat_activity简介,https://blog.csdn.net/asmartkiller/article/details/122521516文章来源地址https://www.toymoban.com/news/detail-491941.html

到了这里,关于PostgreSQL(九)内置系统视图的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 《PostgreSQL 开发指南》第32篇 物化视图

    物化视图(Materialized View)是 PostgreSQL 提供的一个扩展功能,它是介于视图和表之间的一种对象。 物化视图和视图的最大区别是它不仅存储定义中的查询语句,而且可以像表一样存储数据。物化视图和表的最大区别是它不支持 INSERT、UPDATE、DELETE 以及 MERGE 语句,只能通过刷新

    2024年02月12日
    浏览(37)
  • 【postgresql初级使用】视图的基础操作,管理员与普通员工看到不同的数据,视图的作用与重要性介绍

    ​ 专栏内容 : postgresql使用入门基础 手写数据库toadb 并发编程 个人主页 :我的主页 管理社区 :开源数据库 座右铭:天行健,君子以自强不息;地势坤,君子以厚德载物. 数据库视图是一个虚拟的表,它基于一个或多个实际表的查询结果。视图并不实际存储数据,而是通过

    2024年04月27日
    浏览(47)
  • 93.STL-系统内置仿函数

            目录  算术仿函数 关系仿函数  逻辑仿函数          C++ 标准库中提供了一些内置的函数对象,也称为仿函数,它们通常位于 functional 头文件中。以下是一些常见的系统内置仿函数: 功能描述: 实现四则运算 其中negate是一元运算,其他都是二元运算 仿函数原型:

    2024年02月04日
    浏览(32)
  • Django_内置的用户认证系统

    目录 一、用户对象 1. 创建用户 2. 修改密码 3. 用户验证 二、权限与授权 1. 默认权限 2. 用户组 3. 在代码中创建权限 4. 权限缓存 三、在视图中认证用户 1、登录用户 2、注销用户 3、用户登录的访问限制 3.1、原始的办法 3.2、函数视图使用login_required装饰器 3.3、类视图继承Log

    2024年02月13日
    浏览(44)
  • php 系统内置URL生成方法

    2024年02月02日
    浏览(45)
  • QT图形视图系统 - 使用一个项目来学习QT的图形视图框架 - 终篇

    接上一篇,我们需要继续完成以下的效果; 先上个效果图: 资源路径:https://download.csdn.net/download/turbolove/88192114?spm=1001.2014.3001.5503 上一篇我们绘制了标尺,并且我们修改了放大缩小和对应的背景,整体看来,我们的滚动条会和背景不搭配,因此我们需要修改我们的背景,这

    2024年02月13日
    浏览(37)
  • QT图形视图框架——坐标系统

    图形项坐标     以图形项的左上角为原点。     创建自定义图形项时,只需要考虑图形项的坐标系统     没有父图形项的是顶层图形项,在场景坐标系中,可以用setPos()函数指定图形项的位置,没有指定时出现在原点处。子图形项的坐标不会受到父图形项的变换的影响,

    2024年02月16日
    浏览(37)
  • SqlServer实用系统视图,你了解多少?

    在使用任何数据库软件的时候,该软件都会提供一些可能不是那么公开,但很多人都知道的一些系统表或系统视图,了解这些内容,有助与我们日常工作中的一些特殊需求。本文介绍一些老顾所常用的SqlServer的系统视图给大家。 实用程度 ⭐️⭐️⭐️ 重要程度 💡 这是一个

    2023年04月13日
    浏览(32)
  • Android 12 内置系统默认动态壁纸(视频资源)实现

    新建APP 项目 实现 WallpaperService 实现视频播放的引擎 AndroidManifest.xml 里注册服务 其中的 intent-filter 、action 、meta-data 都是固定写法,用于系统识别,我们需要配置的是 后面的 android:resource=“@xml/magic” 资源配置 @xml/magic 在 res 目录下,新建 xml 文件夹 然后新建 xxxx.xml(如本例:

    2023年04月26日
    浏览(271)
  • 系统学习Python——单元测试unittest:内置装饰器

    分类目录:《系统学习Python》总目录 相关文章: · 单元测试unittest:框架结构 · 单元测试unittest:测试固件 · 单元测试unittest:编写测试用例 · 单元测试unittest:执行测试用例 · 单元测试unittest:用例执行次序 · 单元测试unittest:内置装饰器 · 单元测试unittest:命令行执行测

    2023年04月13日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包