PostgreSQL DBA(185) - watch

Linux中提供了watch用于每隔n秒查看命令的输出,与PG的客户端工具结合起来可以监控数据库的活动信息。
实际上PG客户端也提供了watch工具每隔n秒监控命令的输出。

OS watch

[gauss2@k8s-master ~]$ gsql -r -d postgres -c "select version();"
                                                                                  version
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 PostgreSQL 9.2.4 (openGauss 2.0.0 build 4b6ee85b) compiled at 2021-05-13 18:07:53 commit 0 last mr  debug on x86_64-unknown-linux-gnu, compiled by g++ (GCC) 7.3.0, 64-bit
(1 row)
[gauss2@k8s-master ~]$ watch -n 0.5 'gsql -r -d postgres -c "select datname,pid,sessionid,query from pg_stat_activity;"'
#命令输出
Every 0.5s: gsql -r -d postgres -c "select datname,pid,sessionid,query from pg_stat_activity;"                                                                                                        Fri Sep 17 14:57:31 2021
 datname  |       pid       |    sessionid    |                           query
----------+-----------------+-----------------+-----------------------------------------------------------
 postgres | 139668357572352 |             320 | select datname,pid,sessionid,query from pg_stat_activity;
 postgres | 139663247058688 | 139663247058688 |
 postgres | 139663098095360 | 139663098095360 |
 postgres | 139663114876672 | 139663114876672 |
 postgres | 139663131657984 | 139663131657984 | WLM fetch collect info from data nodes
 postgres | 139663230277376 | 139663230277376 |
 postgres | 139663213496064 | 139663213496064 |
 postgres | 139663263840000 | 139663263840000 |
 postgres | 139663297402624 | 139663297402624 |
(9 rows)

PG 13 watch

testdb=# select datname,pid,query from pg_stat_activity;\watch 5
 datname | pid  |                      query
---------+------+-------------------------------------------------
         | 2209 |
         | 2211 |
 testdb  | 2214 | select datname,pid,query from pg_stat_activity;
         | 2207 |
         | 2206 |
         | 2208 |
(6 rows)
            Fri 17 Sep 2021 02:59:13 PM CST (every 5s)
 datname | pid  |                      query
---------+------+-------------------------------------------------
         | 2209 |
         | 2211 |
 testdb  | 2214 | select datname,pid,query from pg_stat_activity;
         | 2207 |
         | 2206 |
         | 2208 |
(6 rows)
......
请使用浏览器的分享功能分享到微信等