pg_stat_activity - 如何查看正在运行的存储过程中的当前活动

2024-01-06

我有一个 postgres 环境,其中广泛使用存储过程,并且这些过程很复杂并调用其他存储过程。

当我查询 pg_stat_activity 表时,我得到一条显示正在调用的过程的记录,但没有给出该过程中正在调用哪些 sql 语句的指示。

例如。选择 myprocname($1,$2,$3,$4)

因此,我无法隔离可能导致性能问题的特定 SQL 语句。有问题的 RDS 是一个 amazon RDS 实例,因此操作系统级别的进程访问不可用(据我所知)。

我已经在谷歌上搜索过关于这个主题的信息,到目前为止还没有什么运气。

这个问题不是关于特定场景,因为代码是专有的,我无法直接讨论它,而是关于当我习惯使用的主要来源没有提供足够细节时如何执行此类调整。


有两种方法可以查看函数内 SQL 语句花费的时间:

  1. Enable auto_explain https://www.postgresql.org/docs/current/auto-explain.html with auto_explain.log_nested_statements = on。这将允许您在 PostgreSQL 日志文件中查看函数内 SQL 语句的持续时间和执行计划。

  2. Enable pg_stat_statements https://www.postgresql.org/docs/current/pgstatstatements.html并设置参数pg_stat_statements.track = all.

    Then pg_stat_statements将跟踪函数内 SQL 语句的信息。这样您就可以看到哪些语句在数据库中消耗了多少时间。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

pg_stat_activity - 如何查看正在运行的存储过程中的当前活动 的相关文章

  • 如何从主机连接到 Docker Postgres 容器

    我按照以下说明搭建了一个 Rails 开发环境https docs docker com compose rails https docs docker com compose rails 它可以工作 但我无法从主机连接到 Postgres
  • PostgreSQL regexp_matches 只返回匹配的行?

    这是我第一次使用 regexp matches 我发现使用它只会返回与 SELECT 子句中的所有 regexp matches 匹配的行 例如 SELECT parameters regexp matches parameters a d
  • 如何覆盖 Ruby Ranges 的 .. 和 ... 运算符以接受 Float::INFINITY?

    我想覆盖 and Ruby 中的运算符Range 原因是 我正在处理数据库中的无限日期范围 如果你拉一个infinty从 Postgres 中取出日期时间 你会得到一个Float INFINITY在红宝石中 问题是 我无法使用Float I
  • JSON 值的模式匹配

    运行 Postgres 12 5 的本地 docker 实例 4MBwork mem 我正在实施这个图案 https dba stackexchange com q 108447 3684搜索 json 中的任意字段 目标是搜索并返回 JS
  • 查找 postgres 提供的列表中不存在的值

    我试图找到一个查询来告诉我数据库中没有的值 例如 select seqID segment from flu where seqID IN 1 2 3 4 5 6 7 8 9 现在 如果我的数据库没有 seqID 3 8 9 我将如何查找
  • 对 postgresql 中使用 array_agg 创建的文本聚合进行排序

    我在 postgresql 中有一个表 下表 动物 可以解释我的问题 name tiger cat dog 现在我正在使用以下查询 SELECT array to string array agg name FROM animals 结果是
  • 无论如何要解密加密的sql server存储过程吗?

    我有几个 ms sql server 2000 存储过程 很久以前就被前雇员加密了 一切都很好 直到我们需要稍微改变一下 有什么方法可以检索源代码吗 或者重写是唯一的选择 多谢 或者免费 谷歌是你的朋友 http searchsqlserv
  • 用数字 1-1000 填充 Postgres 数据库?

    我是 pgAdmin3 的新手 我想用数字 1 1000 填充 pgAdmin3 中的数据库 我该怎么做呢 目前 我创建了一个名为 MyDatabase 的数据库 其中没有任何内容 每行应与其数值相对应 第 1 行应包含 1 第 2 行应包
  • 我可以以编程方式配置 PostgreSQL 以不消除全文搜索中的停用词吗?

    我正在使用 PostgreSQL 全文搜索来进行项目 其中传统停用词 a the if 等 应该被索引和可搜索 这不是默认行为 例如 我可能希望我的用户找到查询 to be or not to be 的结果 The 文档 http www
  • postgresql中数组的区别

    我有两个数组 1 2 3 4 7 6 and 2 3 7 在 PostgreSQL 中可能有共同的元素 我想做的是从第一个数组中排除第二个数组中存在的所有元素 到目前为止我已经取得了以下成果 SELECT array SELECT unne
  • postgresql 中的锁定表

    我有一个名为 games 其中包含一个名为 title 该列是唯一的 数据库中使用PostgreSQL 我有一个用户输入表单 允许他插入新的 game in games 桌子 插入新游戏的功能会检查之前输入的游戏是否存在 game 与相同的
  • 在 docker 中将 pgadmin 连接到 postgres

    我有一个docker compose与服务文件python nginx postgres and pgadmin services postgres image postgres 9 6 env file env volumes postg
  • 手动更改postgresql中查询的执行计划?

    是否可以在postgresql中手动更改执行计划的操作顺序 例如 如果我总是想在过滤之前进行排序操作 尽管这在 postgresql 的正常使用中没有意义 是否可以通过例如手动强制执行该操作改变运营的内部成本 如果我实现自己的功能呢 是否可
  • PostgreSQL round(v numeric, s int)

    Which method http en wikipedia org wiki Rounding Tie breakingPostgres 吗round v numeric s int http www postgresql org doc
  • 优化 LATERAL join 中的慢速聚合

    在我的 PostgreSQL 9 6 2 数据库中 我有一个查询 该查询根据一些股票数据构建计算字段表 它为表中的每一行计算 1 到 10 年的移动平均窗口 并将其用于周期性调整 具体来说 CAPE CAPB CAPC CAPS 和 CAP
  • Postgres:显示继承的字段

    我应该实现什么查询来获取继承的列 读过this http www alberton info postgresql meta info html综合帖子没有找到解决办法 如果我理解正确的话 您想知道作为表之间继承的一部分的列的名称 SELE
  • 如何引用下一行的数据?

    我正在 PostgreSQL 9 2 中编写一个函数 对于股票价格和日期的表 我想计算每个条目较前一天的百分比变化 对于最早一天的数据 不会有前一天 因此该条目可以简单地为 Nil 我知道WITH声明可能不应该高于IF陈述 到目前为止 这就
  • 在 PostgreSql 中计算百分比

    例如我有一个这样的表 string adm A 2 A 1 B 2 A 1 C 1 A 2 通过 SQL 查询 我想要这样的结果 string perc adm A 50 B 100 C 0 我想要每个字符串中数字 2 出现的百分比 我可以
  • Postgres JSONB:数组数组的 where 子句

    postgres 中有 v 9 5 如果有的话 create table json test id varchar NOT NULL data jsonb NOT NULL PRIMARY KEY id 其中 data 是 json 并且包
  • 为 PostgreSQL 查询选择正确的索引

    简化表 CREATE TABLE products product no integer PRIMARY KEY sales integer status varchar 16 category varchar 16 CREATE INDE

随机推荐

  • 有关 Google Play 应用程序资产加密的问题

    从 v4 1 开始果冻豆 http developer android com about versions jelly bean html 谷歌为Google Play推出了新的应用程序资产加密功能 升级应用程序时似乎出现了一些问题 其中
  • Spread Operator 不适用于基于 Redux/ES6 的示例

    我正在尝试理解 Dan Abramov 发布的 Redux 在线教程 目前我正在使用以下示例 带有数组的Reducer组合 https egghead io lessons javascript redux reducer composit
  • Windows 窗体图表设置固定混合标签

    我想将标签固定在 x 或 y 轴上 因此它们始终是静态的 我还想将标签与数字和字符串混合在一起 如图所示 另外y轴从 1开始 我怎么能总是从0开始呢 Setting CustomLabels https msdn microsoft com
  • 汇编中的内存分配和寻址

    我正在尝试学习汇编 但有一些指令我不完全理解其目的 C code include
  • 如何获取 PHP 函数中的函数名称?

    是否可以 function test echo function name is test 准确的方法是使用 FUNCTION 预定义魔法常数 http www php net manual en language constants pr
  • 父级的 jQuery 父级

    我目前正在尝试查找元素的父元素的父元素 我点击了一个链接 该链接位于 td 我想得到 tr object 为什么 this parent parent 不起作用 会怎样 Thanks Brendan Edit 看来我的语法错误导致了整个事情
  • 在 Altair 折线图末尾添加标签

    所以我一直在尝试获取它 以便在每行末尾都有一个标签 给出国家 地区名称 然后我可以删除图例 尝试过玩transform filter但没有运气 我使用了这里的数据https ourworldindata org coronavirus so
  • Java 客户端中的 TLS 与 SNI

    目前正在就该问题进行讨论NHIN Direct 安全与信任工作组 http nhindirect org message list Security and Trust Workgroup 关于传统 SSL 产生的 IP 到域映射问题 ht
  • 如何在 selenium python 中的相对 css 选择器中使用父选择器

    我将尽力解释这个问题 这个问题是关于Python中的selenium 考虑这个例子 for row in driver find elements By CSS SELECTOR div style overflow hidden gt d
  • 使用 C# 的形式制作动画 Gif

    在我的项目中 每当执行一个长流程时 都会显示一个小表单和一个小动画 gif 文件 我使用 this Show 打开表单 使用 this Close 关闭表单 以下是我使用的代码 public partial class PlzWaitMes
  • 并行运行多个 JPA 事务

    我有两个 或更多 Java 线程使用 JPA 从 mysql 数据库创建 更新和删除实体 为了实现这一目标 我有一个 PersistenceLayer 类创建 EntityManager 并为我的所有实体提供保存 更新和删除方法 如下所示
  • 使用 maven 在 Google App Engine 上部署 SpringBoot / Angular 4

    我尝试在 Google Cloud 上部署应用程序 目前免费帐户 前端 Angular 和后端 Java JPA Spring Boot 是使用 Maven 在单个 jar 中构建的 在本地 在我的服务器上使用 Jenkins 和 Goog
  • 在 Common Lisp 中,如何以可移植的方式检查对象的类型

    我想定义一个专门处理具有无符号字节 8 元素的数组类型对象的方法 在 sbcl 中 当你 make array x element type unsigned byte 8 对象类由 SB KERNEL SIMPLE ARRAY UNSIG
  • C# - 通过引用传递值类型的良好且灵活的方法?

    我的问题缩小为简单的解释如下 我有一个类需要使用一个可能会发生变化的数字 不改变它 这个数字不一定来自另一个类 它可以是任何东西 但我只想将它 交给 类一次 而不是不断地调用更新方法或必须创建一个包装器 从那以后 正如我所说 这应该适用于任
  • StringBuilder .equals Java

    class strb static public void main String string StringBuilder s1 new StringBuilder Test StringBuilder s2 new StringBuil
  • 了解地图何时停止滚动(如 javascript API 中的“moveend”)

    我需要检测 MapView 何时滚动或缩放 例如 javascript API 中的 moveend 事件 我想等到视图停止移动 这样我就可以检测是否需要向服务器查询查看矩形内的项目 如果需要 则发出请求 实际上我发送了一个比查看矩形稍大的
  • Flutter中如何向AppBar添加图标

    如果我有一个像这样的 AppBar 如何像这样添加一个可点击的图标 您可以通过向 AppBar 添加 IconButton 小部件来向 AppBar 添加图标 actions应用栏列表 AppBar title Text My App ac
  • 使用 Diesel 的“belongs_to”属性时“使用未声明的类型或模块”

    我大致关注迪塞尔的入门 https diesel rs guides getting started 指南尝试设置关系数据库 但在编译时出现以下错误 error E0433 failed to resolve use of undeclar
  • 避免 Yeoman 生成器中的冲突

    当使用 Yeoman 搭建脚手架时 我想用模板替换应用程序中的部分内容 一切似乎都很顺利 但我在脚手架期间遇到了这个冲突错误 this template conditional files html signup email html ap
  • pg_stat_activity - 如何查看正在运行的存储过程中的当前活动

    我有一个 postgres 环境 其中广泛使用存储过程 并且这些过程很复杂并调用其他存储过程 当我查询 pg stat activity 表时 我得到一条显示正在调用的过程的记录 但没有给出该过程中正在调用哪些 sql 语句的指示 例如 选