pg_activity 是一个用于 PostgreSQL 服务器活动监视的命令行工具。
使用
pg_activity可以在本地或远程工作。在本地工作的情况下,为了获得足够的权限来显示系统信息,运行 pg_activity 的系统用户必须是运行 postgresql 服务器的同一用户(默认是 postgres),或者拥有更多权限的用户,比如root。否则,pg_activity 就会回退到退化模式而不显示系统信息。同样的,用来连接数据库的 PostgreSQL 用户必须是超级用户。
sudo -u postgres pg_activity -U postgres
注意事项
pg_activity 报告的 SQL 查询文本的长度依赖于 PostgreSQL 参数 track_activity_query_size,默认值是 1024 (以字节表示)。如果你的 SQL 查询文本看起来很短,你应该增加 track_activity_query_size。
选项
pg_activity [options]
Options:
--version Show program's version number and exit
-U USERNAME, --username=USERNAME
Database user name (default: "postgres").
-p PORT, --port=PORT Database server port (default: "5432").
-h HOSTNAME, --host=HOSTNAME
Database server host or socket directory (default:
"localhost").
-d DBNAME, --dbname=DBNAME
Database name to connect to (default: "postgres").
--blocksize=BLOCKSIZE Filesystem blocksize (default: 4096).
--rds Enable support for AWS RDS.
--output=FILEPATH Store running queries as CSV.
--help Show this help message and exit.
--no-db-size Skip total size of DB.
--min-duration Don't display queries with smaller than specified
duration (in seconds).
--verbose-mode=VERBOSE_MODE
Queries display mode. Values: 1-TRUNCATED,
2-FULL(default), 3-INDENTED
--duration-mode=DURATION_MODE
Duration mode. Values: 1-QUERY(default),
2-TRANSACTION, 3-BACKEND
Display options, you can exclude some columns by using them :
--no-database Disable DATABASE.
--no-user Disable USER.
--no-client Disable CLIENT.
--no-cpu Disable CPU%.
--no-mem Disable MEM%.
--no-read Disable READ/s.
--no-write Disable WRITE/s.
--no-time Disable TIME+.
--no-wait Disable W.
--no-app-name Disable App.
pg_stat_activity视图属性 字段 含义 query 执行SQL语句 query_start 查询开始时间 state 运行状态 active:正在查询;idle:空闲;idle in transaction:后端是一个事务,但是尚未执行查询;idle in transaction(aborted):事务执行出现错误 datid 数据库oid datname 数据库名称 procpid
当监控或检查Postgresql时,我通常先查看一些系统视图,然后再进行深入分析。本文带你了解pg_stat_activity视图,通过监控信息掌握系统慢查询问题。 pg_stat_activity视图 首先要讨论的是pg_stat_activity,其目的是让你掌握系统此刻正在做什么。 postgres=# \d pg_stat_activity; 视
Column Type Description datid oid 后台连接的数据库id(OID) datname name 后台连接的数据库名 pid integer 后代进程id(PID) usesysid oid 连接到后台的用户id usename name 连接到后台的用户名称 application_name text 通过后台连接的应用程序名称 client_addr inet 后台
postgresql 9.6 普通用户查询 pg_stat_activity、pg_stat_statements 时部分列显示 insufficient privilege,有两种方法可以解决。 postgres=> select pid,client_addr,query from pg_stat_activity; pid | client_addr |
postgres=# \d+ pg_stat_activity View "pg_catalog.pg_stat_activity" Column | Type | Modifiers | Storage | Description ------------------+
pg_stat_activity 是postgrsql 实例维护的一个进程相关的视图,是实时变化的。所以,如果从 pg_stat_activity 获取慢sql之类的语句,就需要定时查询,比如配置成zabbix的定时探测。 select 'select pg_cancel_backend('|| a0.pid || ');' as cancel_pid, 'select pg_ter
视图结构 postgres=# \d+ pg_stat_activity View "pg_catalog.pg_stat_activity" Column | Type | Modifiers | Storage | Description ------------------+--
pg_stat_activity是一个非常有用的视图,可以帮助排查pg的一些问题(如连接数目过多问题)。pg_stat_activity每行展示的是一个“process”的相关信息,这里的“process”可以理解为一个DB连接。 :The pg_stat_activity view will have one row per server process, showing information
postgres=# \d+ pg_stat_activity View "pg_catalog.pg_stat_activity" Column | Type | Modifiers | Storage | Description ------------------+------
安装配置 --编译安装 hgdb默认编译安装好,目录 /opt/HighGo4.5.7-see/share/postgresql/extension --参数配置 #pg_stat_statements seting shared_preload_libraries='pg_stat_statements' pg_stat_statements.max = 10000 pg_stat_state
pg_stat_activity 获取数据库的状态 \d+ pg_stat_activity View "pg_catalog.pg_stat_activity" Column | Type | Collation | Nullable | Default | Sto
在查询gp的这个view时,如果sql够长。pg_stat_activity中的query_text 有截断的情况。如何保证不被截断呢? 修改PostgreSQL GUC的track_activity_query_size 这个参数可以不被截断。 如果下给客户端的sql本身有换行符, 这个目前是无解的,pg_log中看到的记录就是多行的。
我有c套接字服务器和android客户端。服务器在一段时间间隔后不断向客户端发送数据。问题是如何在android客户端上实现这个获取数据 如何让它连续接收数据?我尝试了这样的东西,而(true){...socket.getInputStream(); Thread.sleep(...);}没有帮助
据我所知,Camunda提供了两种将Java代码与服务任务集成的方法: 1.)声明一个实现JavaDelegate接口的Spring-Bean(该方法将一个DelegateExecution作为参数)。这个方法允许我存储任意多个结果变量,但我看不到定义映射process-variable->input-variable的选项。 2.)声明一个通用的Spring bean可由camunda访问,并定
My roommate lost his pet elephant. It’s in the apartment somewhere. — Steven Wright 我们无法持续关注所有的一切。问题是:你怎么知道一台服务器何时会出现故障呢? 错误的答案是,“我的客户打电话给我,告诉我服务器宕机了。” 但是,你会惊奇地发现,许多组织的系统没有任何的自动监控。自动监控的设置非常简单。 目前有许多优秀
微服务治理的一个核心需求便是服务可观察性。作为微服务的牧羊人,要做到时刻掌握各项服务的健康状态,并非易事。云原生时代这一领域内涌现出了诸多解决方案。本组件对可观察性当中的重要支柱遥测与监控进行了抽象,方便使用者与既有基础设施快速结合,同时避免供应商锁定。 安装 通过 Composer 安装组件 composer require hyperf/metric hyperf/metric 组件默认安装
1.1、什么是监控服务 监控服务(Monitor Service),是指对直播视频流的实时监控。目睹云提供的监控服务能够支持对rtmp、flv、hls等大多数直播流进行即时监控,并且渲染成图表。监控服务主要监控的是直播视频的帧率和码率信息,这样能够及时的反映出来视频流的卡顿流畅情况。 1.2、监控服务功能介绍 支持多种流监控:支持rtmp、flv、hls等多种直播视频协议流监控 历史监控数据:支持
我有一个包含服务方法的报警服务服务类。这些方法在警报服务激活时被调用。我想做的是调用这些方法中的另一个类的意图,这些方法在服务类中被调用(当警报关闭时)。它所做的只是在调用意图时标记错误。这只发生在激活警报服务时调用的方法中(服务类中的方法)。这是因为类而不是吗?我不确定,有什么想法吗? (以下是我的服务类,当在方法中调用另一个活动的意图时,应用程序强制关闭。) LogCat上的这些错误之一是:
注意 许多监视器特性只在Neo4j服务器高级版和企业版才可以使用。 为了能获取Neo4j数据库的健康状况,可以采用不同级别的监控等级。这些功能一般都是通过 JMX呈现出来。 25.1. 调整远程JMX访问Neo4j的服务器 默认情况下,Neo4j高级版和企业版都不允许远程的JMX连接,因为在 conf/neo4j-wrapper.conf配置文件中的相关配置是被注释掉了的。为了启用该功能, 你必须
单击通知、服务创建新活动和活动创建新服务? 我的应用MainActivity“OnCreate”创建一个“粘性”的服务。 在我的服务中,当有一些通知时,我会发布多个通知。除非用户进入应用程序并阅读通知,否则通知将在那里。在onStartCommand中检查新通知。 按下通知将发送打开MainActivity的意图。 有服务、主要活动和通知。 一段时间后,MainActivity被系统杀死。 单击通