pg12新功能_查看pg数据库状态

pg12新功能_查看pg数据库状态pg12新特性-监控数据库活动 PostgreSQL 能够在命令执行期间报告某些命令的进度。目前,支持进度报告的命令有CREATE INDEX, VACUUM and CLUSTER. 将来可能会扩…

pg12新特性-监控数据库活动

CREATE INDEX

每当创建索引或 REINDEX 运行时,pg_stat_progress_create_index视图将包含当前正在创建索引的每个后端进程的一行。

postgres=# d pg_stat_progress_create_index 
        View "pg_catalog.pg_stat_progress_create_index"
       Column       |  Type   | Collation | Nullable | Default 
--------------------+---------+-----------+----------+---------
 pid                | integer |           |          | 
 datid              | oid     |           |          | 
 datname            | name    |           |          | 
 relid              | oid     |           |          | 
 index_relid        | oid     |           |          | 
 command            | text    |           |          | 
 phase              | text    |           |          | 
 lockers_total      | bigint  |           |          | 
 lockers_done       | bigint  |           |          | 
 current_locker_pid | bigint  |           |          | 
 blocks_total       | bigint  |           |          | 
 blocks_done        | bigint  |           |          | 
 tuples_total       | bigint  |           |          | 
 tuples_done        | bigint  |           |          | 
 partitions_total   | bigint  |           |          | 
 partitions_done    | bigint  |           |          | 

代码100分

phase: Current processing phase of index creation 关于阶段描述参考官方文档

VACUUM

每当 VACUUM 运行时,pg_stat_progress_vacuum视图将包含当前正在清除的每个后端进程(包括自动vacuum工作进程)的一行。

代码100分postgres=# d pg_stat_progress_vacuum
           View "pg_catalog.pg_stat_progress_vacuum"
       Column       |  Type   | Collation | Nullable | Default 
--------------------+---------+-----------+----------+---------
 pid                | integer |           |          | 
 datid              | oid     |           |          | 
 datname            | name    |           |          | 
 relid              | oid     |           |          | 
 phase              | text    |           |          | 
 heap_blks_total    | bigint  |           |          | 
 heap_blks_scanned  | bigint  |           |          | 
 heap_blks_vacuumed | bigint  |           |          | 
 index_vacuum_count | bigint  |           |          | 
 max_dead_tuples    | bigint  |           |          | 
 num_dead_tuples    | bigint  |           |          | 

phase:Current processing phase of vacuum.  关于阶段描述参考官方文档

CLUSTER

CLUSTER的作用是依据索引对列数据排序。CLUSTER和VACUUM FULL都会物理移动数据。 每当”CLUSTER”或”VACUUM FULL”运行时,pg_stat_progress_cluster视图将包含当前运行任一命令的每个后端进程的一行。

postgres=# d pg_stat_progress_cluster
           View "pg_catalog.pg_stat_progress_cluster"
       Column        |  Type   | Collation | Nullable | Default 
---------------------+---------+-----------+----------+---------
 pid                 | integer |           |          | 
 datid               | oid     |           |          | 
 datname             | name    |           |          | 
 relid               | oid     |           |          | 
 command             | text    |           |          | 
 phase               | text    |           |          | 
 cluster_index_relid | oid     |           |          | 
 heap_tuples_scanned | bigint  |           |          | 
 heap_tuples_written | bigint  |           |          | 
 heap_blks_total     | bigint  |           |          | 
 heap_blks_scanned   | bigint  |           |          | 
 index_rebuild_count | bigint  |           |          | 

phase:Current processing phase. 关于阶段描述参考官方文档

测试

以上的视图对于日常运行维护过程有很大的帮助,可以观察操作进度,特别对于长时间运行的操作。pg的易管理性不断增加。

代码100分eg1:
create index test_parallel_idx on test_parallel(name);
postgres=# select pid,datname,relid,command,phase,current_locker_pid,tuples_total,tuples_done  from pg_stat_progress_create_index;
  pid  | datname | relid |   command    |             phase              | current_locker_pid | tuples_total | tuples_done 
-------+---------+-------+--------------+--------------------------------+--------------------+--------------+-------------
 12612 | test    | 16387 | CREATE INDEX | building index: scanning table |                  0 |            0 |           0
(1 row)
postgres=# select pid,datname,relid,command,phase,current_locker_pid,tuples_total,tuples_done  from pg_stat_progress_create_index;
  pid  | datname | relid |   command    |                 phase                  | current_locker_pid | tuples_total | tuples_done 
-------+---------+-------+--------------+----------------------------------------+--------------------+--------------+-------------
 12612 | test    | 16387 | CREATE INDEX | building index: loading tuples in tree |                  0 |     11003000 |     1814012
(1 row)

reference

官方文档

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/8767.html

(0)
上一篇 2023-02-22
下一篇 2023-02-22

相关推荐

  • Python计算624的平方根

    Python计算624的平方根平方根是一个数学术语,表示一个数的平方根可以被这个数整除。比如说,25的平方根是5,因为5\*5=25,而36的平方根是6,因为6\*6=36。

    2024-02-05
    102
  • MySQL通讯协议(3)连接阶段[亲测有效]

    MySQL通讯协议(3)连接阶段[亲测有效][TOC] MySQL通讯协议(3)连接阶段 MySQL 连接生命周期 graph TD A[开始] –> |连接|B(ConnectionState) B –> |认证成功|C(Command…

    2023-02-13
    147
  • Python实现字典读取和解析

    Python实现字典读取和解析Python中的字典是一种无序的数据集合,它由键值对(key-value)组成。字典的键必须是唯一的,而值可以是任意不可变的对象。

    2023-12-15
    116
  • “mysql”_MySQL入门

    “mysql”_MySQL入门MYSQL(基本篇)——一篇文章带你走进MYSQL的奇妙世界 MYSQL算是我们程序员必不可少的一份求职工具了 无论在什么岗位,我们都可以看到应聘要求上所书写的”精通MYSQL等数据库及优化“ 那么我

    2023-05-29
    140
  • 了解Python中的float函数

    了解Python中的float函数在Python编程中,很多情况下需要用到数字,而数字又分为整数和浮点数。其中浮点数是一种有小数点的数字类型。在这篇文章中,我们将会深入了解Python语言中float函数的用法以及相关知识。

    2024-06-15
    62
  • 探究 Python 积分

    探究 Python 积分Python是一种具有强大功能和易于学习的编程语言。它已经成为了许多领域中最受欢迎的语言之一——从Web开发到科学计算。在本文中,我们将探究Python中的积分,包括如何使用Python对各种不同类型的积分进行求解,并介绍一些常见的积分公式。

    2024-08-03
    24
  • 使用setuptools进行Python打包和分发

    使用setuptools进行Python打包和分发在Python开发中,我们经常需要分享我们的代码给别人,或者将它发布到Python Package Index(PyPI)上让其他人使用。而要实现这个目标,我们需要将代码打包成一个可安装的包并进行分发。setuptools是一个Python开发工具,它可以帮我们完成Python打包和分发的工作。在本文中,我们将介绍如何使用setuptools创建Python包和上传到PyPI等步骤。

    2024-08-30
    20
  • 使用 Python 去除换行符的方法

    使用 Python 去除换行符的方法在进行文本处理时,我们经常需要去除字符串中的换行符。Python是一种功能强大的编程语言,它提供了多种方法去除字符串中的换行符。在本文中,我们将向您介绍使用Python去除换行符的方法。

    2024-09-06
    29

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注